mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
Gui: Fix Read / Edit / HTML not working by keyboard shortcuts / in personal wikis [#392]
This commit is contained in:
parent
ab4cbbd3c1
commit
71232e4402
@ -14,6 +14,7 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt
|
||||
Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
|
||||
*/
|
||||
package gplx.xowa; import gplx.*;
|
||||
import gplx.xowa.wikis.pages.*;
|
||||
public class Xoa_url_ {
|
||||
public static final int Tid_unknown = 0, Tid_page = 1, Tid_anch = 2, Tid_inet = 3, Tid_file = 4, Tid_xcmd = 5;
|
||||
public static boolean Tid_is_pagelike(int tid) {
|
||||
@ -28,9 +29,9 @@ public class Xoa_url_ {
|
||||
Qarg__redirect = Bry_.new_a7("redirect")
|
||||
, Qarg__redirect__no = Bry_.new_a7("no")
|
||||
, Qarg__action = Bry_.new_a7("action")
|
||||
, Qarg__action__read = Bry_.new_a7("read")
|
||||
, Qarg__action__edit = Bry_.new_a7("edit")
|
||||
, Qarg__action__html = Bry_.new_a7("html")
|
||||
, Qarg__action__read = Xopg_view_mode_.Bry__read
|
||||
, Qarg__action__edit = Xopg_view_mode_.Bry__edit
|
||||
, Qarg__action__html = Xopg_view_mode_.Bry__html
|
||||
, Qarg__curid = Bry_.new_a7("curid")
|
||||
;
|
||||
}
|
||||
|
@ -464,7 +464,7 @@ public class Xop_fxt {
|
||||
Xop_root_tkn root = Exec_parse_page_all_as_root(src_bry);
|
||||
Xoae_page page = this.Page();
|
||||
page.Root_(root);
|
||||
byte[] actl = wiki.Html_mgr().Page_wtr_mgr().Gen(page, gplx.xowa.wikis.pages.Xopg_page_.Tid_read);
|
||||
byte[] actl = wiki.Html_mgr().Page_wtr_mgr().Gen(page, Xopg_view_mode_.Tid__read);
|
||||
Tfds.Eq_str_lines(expd, String_.new_u8(actl));
|
||||
}
|
||||
public String Exec__parse_to_html_w_skin(String raw) {
|
||||
@ -476,7 +476,7 @@ public class Xop_fxt {
|
||||
Xop_root_tkn root = this.Exec_parse_page_all_as_root(raw_bry);
|
||||
this.Page().Root_(root);
|
||||
|
||||
html_mgr.Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Write_page(bfr, this.Page(), this.Ctx(), Xoh_page_html_source_.Wtr);
|
||||
html_mgr.Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_page(bfr, this.Page(), this.Ctx(), Xoh_page_html_source_.Wtr);
|
||||
return bfr.To_str_and_clear();
|
||||
}
|
||||
public void Test__parse_to_html_w_skin(String raw, String expd) {
|
||||
|
@ -55,7 +55,7 @@ public class Xobldr__lnki_temp__create extends Xob_dump_mgr_base implements gplx
|
||||
}
|
||||
@Override protected void Cmd_bgn_end() {
|
||||
ns_file_is_case_match_all = Ns_file_is_case_match_all(wiki); // NOTE: must call after wiki.init
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Ctgs_enabled_(false); // disable categories else progress messages written (also for PERF)
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Ctgs_enabled_(false); // disable categories else progress messages written (also for PERF)
|
||||
if (wiki.File__bin_mgr() != null)
|
||||
wiki.File__bin_mgr().Wkrs__del(gplx.xowa.files.bins.Xof_bin_wkr_.Key_http_wmf); // remove wmf wkr, else will try to download images during parsing
|
||||
commons_wiki = app.Wiki_mgr().Get_by_or_make(Xow_domain_itm_.Bry__commons);
|
||||
@ -119,7 +119,7 @@ public class Xobldr__lnki_temp__create extends Xob_dump_mgr_base implements gplx
|
||||
parser.Parse_page_all_clear(root, ctx, ctx.Tkn_mkr(), page_src);
|
||||
if ( gen_html
|
||||
&& page.Redirect_trail().Itms__len() == 0) // don't generate html for redirected pages
|
||||
wiki.Html_mgr().Page_wtr_mgr().Gen(ctx.Page().Root_(root), Xopg_page_.Tid_read);
|
||||
wiki.Html_mgr().Page_wtr_mgr().Gen(ctx.Page().Root_(root), Xopg_view_mode_.Tid__read);
|
||||
if (gen_hdump)
|
||||
hdump_bldr.Insert(ctx, page.Root_(root));
|
||||
root.Clear();
|
||||
|
@ -52,8 +52,8 @@ public class Html__dump_to_fsys__cmd extends Xob_cmd__base {
|
||||
Xoae_page page = wiki.Data_mgr().Load_page_and_parse(wiki.Utl__url_parser().Parse(page_ttl.Page_db()), page_ttl);
|
||||
wiki.Parser_mgr().Parse(page, true);
|
||||
page.Wikie().Html_mgr().Page_wtr_mgr().Page_read_fmtr().Fmt_("~{page_data}");
|
||||
page.Wikie().Html_mgr().Page_wtr_mgr().Wkr(gplx.xowa.wikis.pages.Xopg_page_.Tid_read).Write_body(bfr, wiki.Parser_mgr().Ctx(), hctx, page);
|
||||
byte[] html_src = bfr.To_bry_and_clear();//page.Wikie().Html_mgr().Page_wtr_mgr().Gen(page, gplx.xowa.wikis.pages.Xopg_page_.Tid_read); // NOTE: must use wiki of page, not of owner tab; DATE:2015-03-05
|
||||
page.Wikie().Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_body(bfr, wiki.Parser_mgr().Ctx(), hctx, page);
|
||||
byte[] html_src = bfr.To_bry_and_clear();//page.Wikie().Html_mgr().Page_wtr_mgr().Gen(page, gplx.xowa.wikis.pages.Xopg_view_mode_.Tid__read); // NOTE: must use wiki of page, not of owner tab; DATE:2015-03-05
|
||||
byte[] html_head = page.Html_data().Custom_head_tags().To_html__style(bfr);
|
||||
|
||||
// fmt with mustache; write to file
|
||||
|
@ -17,6 +17,7 @@ package gplx.xowa.addons.bldrs.mass_parses.parses.wkrs; import gplx.*; import gp
|
||||
import gplx.dbs.*; import gplx.xowa.addons.bldrs.mass_parses.dbs.*;
|
||||
import gplx.xowa.files.origs.*;
|
||||
import gplx.xowa.htmls.core.bldrs.*;
|
||||
import gplx.xowa.wikis.pages.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.logs.*;
|
||||
import gplx.xowa.addons.bldrs.mass_parses.parses.mgrs.*; import gplx.xowa.addons.bldrs.mass_parses.parses.utls.*; import gplx.xowa.addons.bldrs.mass_parses.parses.*; import gplx.xowa.addons.bldrs.mass_parses.parses.pools.*;
|
||||
import gplx.xowa.addons.wikis.fulltexts.indexers.bldrs.*;
|
||||
@ -75,7 +76,7 @@ public class Xomp_parse_wkr implements Gfo_invk {
|
||||
wiki.File_mgr().Fsdb_mode().Tid__v2__mp__y_();
|
||||
|
||||
// enable disable categories according to flag
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(gplx.xowa.wikis.pages.Xopg_page_.Tid_read).Ctgs_enabled_(cfg.Hdump_catboxs());
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Ctgs_enabled_(cfg.Hdump_catboxs());
|
||||
|
||||
// enable lnki_temp
|
||||
Xomp_lnki_temp_wkr logger = null;
|
||||
|
@ -56,7 +56,7 @@ public class Xop_mediawiki_wkr {
|
||||
boolean is_wikitext = Xow_page_tid.Identify(wpg.Wiki().Domain_tid(), ttl.Ns().Id(), ttl.Page_db()) == Xow_page_tid.Tid_wikitext;
|
||||
byte[] orig_bry = Bry_.Empty;
|
||||
if (is_wikitext) {
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Write_hdump(tmp_bfr, pctx, Xoh_wtr_ctx.Hdump, wpg);
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_hdump(tmp_bfr, pctx, Xoh_wtr_ctx.Hdump, wpg);
|
||||
|
||||
// write categories
|
||||
int ctgs_len = wpg.Wtxt().Ctgs__len();
|
||||
|
@ -50,7 +50,7 @@ class Xog_find_box {
|
||||
public void Hide() {
|
||||
app.Gui_mgr().Layout().Find_close();
|
||||
Xog_tab_itm tab = win.Tab_mgr().Active_tab(); if (tab == Xog_tab_itm_.Null) return;
|
||||
if (tab.View_mode() == Xopg_page_.Tid_read) // do not fire find("") for edit / html, else focus issues; DATE:2015-06-10
|
||||
if (tab.View_mode() == Xopg_view_mode_.Tid__read) // do not fire find("") for edit / html, else focus issues; DATE:2015-06-10
|
||||
Exec_find(prv_find_text, Bool_.N);
|
||||
}
|
||||
public void Show_by_paste() {
|
||||
@ -72,7 +72,7 @@ class Xog_find_box {
|
||||
private void Exec_find(String find, boolean highlight_matches) {
|
||||
Xog_tab_itm tab = win.Tab_mgr().Active_tab(); if (tab == Xog_tab_itm_.Null) return;
|
||||
find = String_.Replace(find, "\\", "\\\\"); // NOTE: backslashes are always literal, never escape codes; EX: "C:\new" "\n" means "\n", not (byte)10; DATE:2015-08-17
|
||||
boolean find_in_hdoc = tab.View_mode() == Xopg_page_.Tid_read;
|
||||
boolean find_in_hdoc = tab.View_mode() == Xopg_view_mode_.Tid__read;
|
||||
if (find_in_hdoc)
|
||||
tab.Html_box().Html_js_eval_proc_as_str(Xog_js_procs.Win__find_in_hdoc , find, dir_fwd, case_match, wrap_search, highlight_matches);
|
||||
else
|
||||
|
@ -23,7 +23,7 @@ public class Xoapi_html_box implements Gfo_invk {
|
||||
Xog_tab_itm tab = win.Active_tab(); if (tab == Xog_tab_itm_.Null) return;
|
||||
Gfui_html html_box = tab.Html_itm().Html_box();
|
||||
html_box.Focus();
|
||||
if (tab.View_mode() != Xopg_page_.Tid_read) // if edit / html, place focus in edit box
|
||||
if (tab.View_mode() != Xopg_view_mode_.Tid__read) // if edit / html, place focus in edit box
|
||||
html_box.Html_js_eval_proc_as_str(Xog_js_procs.Doc__elem_focus, Xog_html_itm.Elem_id__xowa_edit_data_box);
|
||||
}
|
||||
public void Selection_focus() {
|
||||
|
@ -22,14 +22,14 @@ public class Xoapi_edit implements Gfo_invk {
|
||||
win = app.Gui_mgr().Browser_win();
|
||||
}
|
||||
private boolean Active_tab_is_null() {return win.Tab_mgr().Active_tab_is_null();}
|
||||
private boolean Active_tab_is_edit() {return !win.Tab_mgr().Active_tab_is_null() && win.Tab_mgr().Active_tab().View_mode() == Xopg_page_.Tid_edit;}
|
||||
private boolean Active_tab_is_edit() {return !win.Tab_mgr().Active_tab_is_null() && win.Tab_mgr().Active_tab().View_mode() == Xopg_view_mode_.Tid__edit;}
|
||||
public void Copy() {if (Active_tab_is_null()) return; win.Kit().Clipboard().Copy(win.Active_html_itm().Html_selected_get_text_or_href());}
|
||||
public void Select_all() {if (Active_tab_is_null()) return; Gfo_invk_.Invk_by_key(win.Win_box().Kit().Clipboard(), Gfui_clipboard_.Invk_select_all);}
|
||||
public void Save() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Save(win.Active_tab(), false);}
|
||||
public void Save_draft() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Save(win.Active_tab(), true);}
|
||||
public void Preview() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Preview(win.Active_tab());}
|
||||
public void Dbg_tmpl() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Debug(win, Xopg_page_.Tid_edit);}
|
||||
public void Dbg_html() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Debug(win, Xopg_page_.Tid_html);}
|
||||
public void Dbg_tmpl() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Debug(win, Xopg_view_mode_.Tid__edit);}
|
||||
public void Dbg_html() {if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Debug(win, Xopg_view_mode_.Tid__html);}
|
||||
public void Focus_edit_box(){if (!Active_tab_is_edit()) return; Xog_tab_itm_edit_mgr.Focus(win, Xog_html_itm.Elem_id__xowa_edit_data_box);}
|
||||
public void Exec() {
|
||||
}
|
||||
|
@ -23,9 +23,9 @@ public class Xoapi_view implements Gfo_invk {
|
||||
this.app = app; this.win = app.Gui_mgr().Browser_win();
|
||||
}
|
||||
private boolean Active_tab_is_null() {return win.Tab_mgr().Active_tab_is_null();}
|
||||
public void Mode_read() {Mode(Xopg_page_.Tid_read);}
|
||||
public void Mode_edit() {Mode(Xopg_page_.Tid_edit);}
|
||||
public void Mode_html() {Mode(Xopg_page_.Tid_html);}
|
||||
public void Mode_read() {Mode(Xopg_view_mode_.Tid__read);}
|
||||
public void Mode_edit() {Mode(Xopg_view_mode_.Tid__edit);}
|
||||
public void Mode_html() {Mode(Xopg_view_mode_.Tid__html);}
|
||||
private void Mode(byte v) {if (Active_tab_is_null()) return; win.Page__mode_(v);}
|
||||
public void Reload() {if (Active_tab_is_null()) return; win.Page__reload();}
|
||||
public void Refresh() {if (Active_tab_is_null()) return; win.Page__refresh();}
|
||||
|
@ -67,11 +67,11 @@ class Http_url_parser {
|
||||
Gfo_qarg_mgr qarg_mgr = new Gfo_qarg_mgr().Init(url_obj.Qargs());
|
||||
byte[] action_val = qarg_mgr.Read_bry_or("action", Bry_.Empty);
|
||||
if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__read))
|
||||
this.action = Xopg_page_.Tid_read;
|
||||
this.action = Xopg_view_mode_.Tid__read;
|
||||
else if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__edit))
|
||||
this.action = Xopg_page_.Tid_edit;
|
||||
this.action = Xopg_view_mode_.Tid__edit;
|
||||
else if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__html))
|
||||
this.action = Xopg_page_.Tid_html;
|
||||
this.action = Xopg_view_mode_.Tid__html;
|
||||
else if (Bry_.Eq(action_val, Qarg__action__popup)) {
|
||||
this.popup = true;
|
||||
this.popup_id = qarg_mgr.Read_str_or_null(Bry_.new_a7("popup_id"));
|
||||
|
@ -33,10 +33,10 @@ public class Http_url_parser_tst {
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1/A/B/C", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1/A/B/C"));
|
||||
|
||||
// action=edit
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1?action=edit", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1").Action_(Xopg_page_.Tid_edit));
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1?action=edit", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1").Action_(Xopg_view_mode_.Tid__edit));
|
||||
|
||||
// action=html
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1?action=html", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1").Action_(Xopg_page_.Tid_html));
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1?action=html", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1").Action_(Xopg_view_mode_.Tid__html));
|
||||
|
||||
// action=popup
|
||||
fxt.Test__parse("/en.wikipedia.org/wiki/Page_1?action=popup", fxt.Make().Wiki_("en.wikipedia.org").Page_("Page_1").Popup_(true));
|
||||
|
@ -66,8 +66,9 @@ public class Xog_html_itm implements Xog_js_wkr, Gfo_invk, Gfo_evt_itm, Xoh_page
|
||||
byte view_mode = owner_tab.View_mode();
|
||||
byte[] html_src = page.Wikie().Html_mgr().Page_wtr_mgr().Gen(page, this, view_mode); // NOTE: must use wiki of page, not of owner tab; DATE:2015-03-05
|
||||
Html_src_(page, html_src);
|
||||
if (view_mode == Xopg_page_.Tid_read){ // used only for Xosrh test; DATE:2014-01-29
|
||||
if (view_mode == Xopg_view_mode_.Tid__read){ // used only for Xosrh test; DATE:2014-01-29
|
||||
html_box.Html_js_eval_proc_as_str(Xog_js_procs.Win__focus_body); // NOTE: only focus if read so up / down will scroll box; edit / html should focus edit-box; DATE:2014-06-05
|
||||
if (page.Root() != null) // NOTE:null when navigating to a new page in personal wikis; DATE:2019-03-20
|
||||
page.Root().Data_htm_(html_src);
|
||||
}
|
||||
}
|
||||
|
@ -109,7 +109,12 @@ public class Xog_tab_itm implements Gfo_invk {
|
||||
tab_box.Tab_name_(tab_name);
|
||||
}
|
||||
public Xog_history_mgr History_mgr() {return history_mgr;} private Xog_history_mgr history_mgr = new Xog_history_mgr();
|
||||
public byte View_mode() {return view_mode;} public Xog_tab_itm View_mode_(byte v) {view_mode = v; return this;} private byte view_mode = Xopg_page_.Tid_read;
|
||||
public byte View_mode() {return view_mode;} private byte view_mode = Xopg_view_mode_.Tid__read;
|
||||
public void View_mode_(byte v) {
|
||||
view_mode = v;
|
||||
if (view_mode != Xopg_view_mode_.Tid__read) // if read, don't bother adding "action=read"
|
||||
page.Url().Qargs_mgr().Set_val_by_bry(Xoa_url_.Qarg__action, Xopg_view_mode_.To_bry(v));
|
||||
}
|
||||
public void Pin_toggle() {}
|
||||
public void Show_url_bgn(Xoa_url url) {
|
||||
this.tab_is_loading = true;
|
||||
@ -161,7 +166,8 @@ public class Xog_tab_itm implements Gfo_invk {
|
||||
if (wiki.Db_mgr().Save_mgr().Create_enabled()
|
||||
|| wiki.Page_mgr().Sync_mgr().Auto_enabled()) {
|
||||
page = Xoae_page.New_edit(wiki, ttl);
|
||||
view_mode = Xopg_page_.Tid_edit;
|
||||
page.Url_(url); // NOTE: need to set url else query args like action=edit will be lost; DATE:2019-03-20
|
||||
view_mode = Xopg_view_mode_.Tid__edit;
|
||||
history_mgr.Add(page); // NOTE: must put new_page on stack so that pressing back will pop new_page, not previous page
|
||||
Xog_tab_itm_read_mgr.Show_page(this, page, false);
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ import gplx.xowa.wikis.nss.*;
|
||||
import gplx.xowa.parsers.*; import gplx.xowa.parsers.tmpls.*;
|
||||
public class Xog_tab_itm_edit_mgr {
|
||||
public static void Save(Xog_tab_itm tab, boolean quick_save) {
|
||||
if (tab.View_mode() != Xopg_page_.Tid_edit) return; // exit if not edit; handles ctrl+s being pressed in read/html modes
|
||||
if (tab.View_mode() != Xopg_view_mode_.Tid__edit) return; // exit if not edit; handles ctrl+s being pressed in read/html modes
|
||||
|
||||
// get text and save directly to text_db
|
||||
Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki(); Xog_win_itm win_itm = tab.Tab_mgr().Win();
|
||||
@ -52,7 +52,7 @@ public class Xog_tab_itm_edit_mgr {
|
||||
|
||||
// update categories
|
||||
try {
|
||||
wiki.Html_mgr().Page_wtr_mgr().Gen(page, Xopg_page_.Tid_read); // NOTE: need to write html to fill Wtxt().Ctgs
|
||||
wiki.Html_mgr().Page_wtr_mgr().Gen(page, Xopg_view_mode_.Tid__read); // NOTE: need to write html to fill Wtxt().Ctgs
|
||||
gplx.xowa.addons.wikis.ctgs.edits.Xoctg_edit_mgr.Update(wiki, page.Ttl().Page_db(), page_id, page.Wtxt().Ctgs__to_ary());
|
||||
} catch (Exception e) {
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "failed to update categories; err=~{0}", Err_.Message_gplx_log(e));
|
||||
@ -70,12 +70,12 @@ public class Xog_tab_itm_edit_mgr {
|
||||
|
||||
// force full reload of page; needed to refresh page_modified; DATE:2017-03-06
|
||||
tab.Show_url_bgn(page.Url());
|
||||
// win_itm.Page__mode_(Xopg_page_.Tid_read);
|
||||
// win_itm.Page__mode_(Xopg_view_mode_.Tid__read);
|
||||
// win_itm.Page__async__bgn(tab);
|
||||
}
|
||||
}
|
||||
public static void Preview(Xog_tab_itm tab) {
|
||||
if (tab.View_mode() != Xopg_page_.Tid_edit) return; // exit if not edit; handles preview somehow being called?
|
||||
if (tab.View_mode() != Xopg_view_mode_.Tid__edit) return; // exit if not edit; handles preview somehow being called?
|
||||
Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki(); Xog_win_itm win_itm = tab.Tab_mgr().Win();
|
||||
Xog_html_itm html_itm = tab.Html_itm();
|
||||
|
||||
@ -88,18 +88,18 @@ public class Xog_tab_itm_edit_mgr {
|
||||
tab.Page_(new_page); new_page.Tab_data().Tab_(tab); // replace old page with new_page; DATE:2014-10-09
|
||||
|
||||
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001();
|
||||
Xoh_page_wtr_wkr wkr = wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_page_.Tid_read);
|
||||
Xoh_page_wtr_wkr wkr = wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read);
|
||||
wkr.Write_body(tmp_bfr, wiki.Parser_mgr().Ctx(), Xoh_wtr_ctx.Basic, new_page);
|
||||
byte[] new_html = tmp_bfr.To_bry_and_rls();
|
||||
new_page.Html_data().Edit_preview_(new_html);
|
||||
|
||||
Invalidate(wiki);
|
||||
win_itm.Page__mode_(Xopg_page_.Tid_edit);
|
||||
win_itm.Page__mode_(Xopg_view_mode_.Tid__edit);
|
||||
html_itm.Scroll_page_by_id_gui(Xog_html_itm.Elem_id__first_heading);// NOTE: was originally directly; changed to call on thread; DATE:2014-05-03
|
||||
win_itm.Page__async__bgn(tab); // NOTE: needed to show images during preview; DATE:2014-06-21
|
||||
}
|
||||
public static void Rename(Xog_tab_itm tab) {
|
||||
if (tab.View_mode() != Xopg_page_.Tid_edit) return; // exit if not edit; handles ctrl+r being pressed
|
||||
if (tab.View_mode() != Xopg_view_mode_.Tid__edit) return; // exit if not edit; handles ctrl+r being pressed
|
||||
Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki(); Xog_win_itm win_itm = tab.Tab_mgr().Win();
|
||||
if (Bry_.Eq(page.Ttl().Page_db(), wiki.Props().Main_page())) {
|
||||
win_itm.Usr_dlg().Warn_many("", "", "The Main Page cannot be renamed");
|
||||
@ -117,7 +117,7 @@ public class Xog_tab_itm_edit_mgr {
|
||||
}
|
||||
wiki.Db_mgr().Save_mgr().Data_rename(page, new_ns_id, new_text);
|
||||
page.Ttl_(Xoa_ttl.Parse(wiki, Bry_.Add(page.Ttl().Ns().Name_db_w_colon(), new_text)));
|
||||
win_itm.Page__mode_(Xopg_page_.Tid_read);
|
||||
win_itm.Page__mode_(Xopg_view_mode_.Tid__read);
|
||||
win_itm.Usr_dlg().Prog_one("", "", "renamed page to {0}", String_.new_u8(page.Ttl().Full_txt_raw()));
|
||||
}
|
||||
public static void Focus(Xog_win_itm win, String elem_focus_id) {
|
||||
|
@ -22,17 +22,17 @@ public class Xog_tab_itm_read_mgr {
|
||||
public static void Show_page(Xog_tab_itm tab, Xoae_page new_page, boolean reset_to_read) {Show_page(tab, new_page, reset_to_read, false, false, Xog_history_stack.Nav_fwd);}
|
||||
public static void Show_page(Xog_tab_itm tab, Xoae_page new_page, boolean reset_to_read, boolean new_page_is_same, boolean show_is_err, byte history_nav_type) {
|
||||
if (reset_to_read)
|
||||
tab.View_mode_(Xopg_page_.Tid_read);
|
||||
tab.View_mode_(Xopg_view_mode_.Tid__read);
|
||||
|
||||
// set View_mode based on "action="; DATE:2018-11-03
|
||||
byte[] action_val = new_page.Url().Qargs_mgr().Get_val_bry_or(Xoa_url_.Qarg__action, Xoa_url_.Qarg__action__read);
|
||||
byte view_mode = Xopg_page_.Tid_read;
|
||||
byte view_mode = Xopg_view_mode_.Tid__read;
|
||||
if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__read))
|
||||
view_mode = Xopg_page_.Tid_read;
|
||||
view_mode = Xopg_view_mode_.Tid__read;
|
||||
else if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__edit))
|
||||
view_mode = Xopg_page_.Tid_edit;
|
||||
view_mode = Xopg_view_mode_.Tid__edit;
|
||||
else if (Bry_.Eq(action_val, Xoa_url_.Qarg__action__html))
|
||||
view_mode = Xopg_page_.Tid_html;
|
||||
view_mode = Xopg_view_mode_.Tid__html;
|
||||
tab.View_mode_(view_mode);
|
||||
|
||||
Xoae_page cur_page = tab.Page(); Xog_html_itm html_itm = tab.Html_itm(); Gfui_html html_box = html_itm.Html_box();
|
||||
@ -63,7 +63,7 @@ public class Xog_tab_itm_read_mgr {
|
||||
tab.Tab_mgr().Tab_mgr().Focus();
|
||||
html_box.Focus();
|
||||
win.Usr_dlg().Prog_none("", "", ""); // blank out status bar
|
||||
if (tab.View_mode() == Xopg_page_.Tid_read)
|
||||
if (tab.View_mode() == Xopg_view_mode_.Tid__read)
|
||||
html_itm.Scroll_page_by_bmk_gui();
|
||||
else
|
||||
Gfo_invk_.Invk_by_val(tab.Html_itm().Cmd_async(), Xog_html_itm.Invk_html_elem_focus, Xog_html_itm.Elem_id__xowa_edit_data_box); // NOTE: must be async, else won't work; DATE:2014-06-05
|
||||
@ -90,7 +90,7 @@ public class Xog_tab_itm_read_mgr {
|
||||
win.Usr_dlg().Warn_many("", "", err_msg);
|
||||
win.App().Log_wtr().Queue_enabled_(false);
|
||||
Xoae_page fail_page = wiki.Data_mgr().Load_page_by_ttl(ttl);
|
||||
tab.View_mode_(Xopg_page_.Tid_edit);
|
||||
tab.View_mode_(Xopg_view_mode_.Tid__edit);
|
||||
Update_selected_tab(win, url, ttl);
|
||||
Show_page(tab, fail_page, false, false, true, Xog_history_stack.Nav_fwd);
|
||||
win.Win_box().Text_(err_msg);
|
||||
|
@ -69,17 +69,17 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
|
||||
else if (ctx.Match(k, Gfui_html.Evt_location_changing)) Page__navigate_by_href(tab_mgr.Active_tab(), Xoh_href_gui_utl.Standardize_xowa_link(m.ReadStr("v")));
|
||||
else if (ctx.Match(k, Invk_page_refresh)) Page__refresh();
|
||||
else if (ctx.Match(k, Invk_page_async_exec)) Xog_async_wkr.Async(((Xog_tab_itm)m.ReadObj("v")));
|
||||
else if (ctx.Match(k, Invk_page_view_read)) Page__mode_(Xopg_page_.Tid_read);
|
||||
else if (ctx.Match(k, Invk_page_view_read)) Page__mode_(Xopg_view_mode_.Tid__read);
|
||||
else if (ctx.Match(k, Invk_page_view_edit)) Page__mode_edit_();
|
||||
else if (ctx.Match(k, Invk_page_view_html)) Page__mode_(Xopg_page_.Tid_html);
|
||||
else if (ctx.Match(k, Invk_page_view_html)) Page__mode_(Xopg_view_mode_.Tid__html);
|
||||
else if (ctx.Match(k, Invk_page_edit_save)) Xog_tab_itm_edit_mgr.Save(tab_mgr.Active_tab(), Bool_.N);
|
||||
else if (ctx.Match(k, Invk_page_edit_save_draft)) Xog_tab_itm_edit_mgr.Save(tab_mgr.Active_tab(), Bool_.Y);
|
||||
else if (ctx.Match(k, Invk_page_edit_preview)) Xog_tab_itm_edit_mgr.Preview(tab_mgr.Active_tab());
|
||||
else if (ctx.Match(k, Invk_page_edit_rename)) Xog_tab_itm_edit_mgr.Rename(tab_mgr.Active_tab());
|
||||
else if (ctx.Match(k, Invk_page_edit_focus_box)) Xog_tab_itm_edit_mgr.Focus(this, Xog_html_itm.Elem_id__xowa_edit_data_box);
|
||||
else if (ctx.Match(k, Invk_page_edit_focus_first)) Xog_tab_itm_edit_mgr.Focus(this, Xog_html_itm.Elem_id__first_heading);
|
||||
else if (ctx.Match(k, Invk_page_dbg_html)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_page_.Tid_html);
|
||||
else if (ctx.Match(k, Invk_page_dbg_wiki)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_page_.Tid_edit);
|
||||
else if (ctx.Match(k, Invk_page_dbg_html)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_view_mode_.Tid__html);
|
||||
else if (ctx.Match(k, Invk_page_dbg_wiki)) Xog_tab_itm_edit_mgr.Debug(this, Xopg_view_mode_.Tid__edit);
|
||||
else if (ctx.Match(k, Invk_page_goto)) Page__navigate_by_url_bar(m.ReadStr("v"));
|
||||
else if (ctx.Match(k, Invk_page_goto_recent)) Page__navigate_by_url_bar(app.Usere().History_mgr().Get_at_last());
|
||||
else if (ctx.Match(k, Invk_history_bwd)) {Page__navigate_by_history(Bool_.N);}
|
||||
@ -162,11 +162,11 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
|
||||
// HACK: when "edit" is clicked, always reload page from database; handles rarely-reproducible issue of "edit-after-rename" causing older versions to show up
|
||||
Xog_tab_itm tab = tab_mgr.Active_tab(); Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki();
|
||||
page = wiki.Page_mgr().Load_page(page.Url(), page.Ttl(), tab);
|
||||
Page__mode_(Xopg_page_.Tid_edit);
|
||||
Page__mode_(Xopg_view_mode_.Tid__edit);
|
||||
}
|
||||
public void Page__mode_(byte new_mode_tid) {
|
||||
Xog_tab_itm tab = tab_mgr.Active_tab(); Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki();
|
||||
if ( new_mode_tid == Xopg_page_.Tid_read // used to be && cur_view_tid == Edit; removed clause else redlinks wouldn't show when going form html to read (or clicking read multiple times) DATE: 2013-11-26;
|
||||
if ( new_mode_tid == Xopg_view_mode_.Tid__read // used to be && cur_view_tid == Edit; removed clause else redlinks wouldn't show when going form html to read (or clicking read multiple times) DATE: 2013-11-26;
|
||||
&& page.Db().Page().Exists() // if new page, don't try to reload
|
||||
) {
|
||||
// NOTE: if moving from "Edit" to "Read", reload page (else Preview changes will still show); NOTE: do not call Exec_page_reload / Exec_page_refresh, which will fire redlinks code
|
||||
|
@ -21,9 +21,9 @@ public class Xoh_page_wtr_mgr implements Gfo_invk {
|
||||
private Xoh_page_wtr_wkr edit_wtr, html_wtr, read_wtr;
|
||||
public Xoh_page_wtr_mgr(boolean html_capable) {
|
||||
this.html_capable = html_capable;
|
||||
this.read_wtr = new Xoh_page_wtr_wkr(this, Xopg_page_.Tid_read);
|
||||
this.edit_wtr = new Xoh_page_wtr_wkr(this, Xopg_page_.Tid_edit);
|
||||
this.html_wtr = new Xoh_page_wtr_wkr(this, Xopg_page_.Tid_html);
|
||||
this.read_wtr = new Xoh_page_wtr_wkr(this, Xopg_view_mode_.Tid__read);
|
||||
this.edit_wtr = new Xoh_page_wtr_wkr(this, Xopg_view_mode_.Tid__edit);
|
||||
this.html_wtr = new Xoh_page_wtr_wkr(this, Xopg_view_mode_.Tid__html);
|
||||
}
|
||||
public boolean Html_capable() {return html_capable;} public Xoh_page_wtr_mgr Html_capable_(boolean v) {html_capable = v; return this;} private boolean html_capable;
|
||||
public byte[] Css_common_bry() {return css_common_bry;} private byte[] css_common_bry;
|
||||
@ -61,9 +61,9 @@ public class Xoh_page_wtr_mgr implements Gfo_invk {
|
||||
}
|
||||
public Xoh_page_wtr_wkr Wkr(byte output_tid) {
|
||||
switch (output_tid) {
|
||||
case Xopg_page_.Tid_edit: return edit_wtr;
|
||||
case Xopg_page_.Tid_html: return html_wtr;
|
||||
case Xopg_page_.Tid_read: return read_wtr;
|
||||
case Xopg_view_mode_.Tid__edit: return edit_wtr;
|
||||
case Xopg_view_mode_.Tid__html: return html_wtr;
|
||||
case Xopg_view_mode_.Tid__read: return read_wtr;
|
||||
default: throw Err_.new_unhandled(output_tid);
|
||||
}
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ public class Xoh_page_wtr_mgr_tst {
|
||||
Gfo_invk_.Invk_by_val(portal_mgr, Xow_portal_mgr.Invk_div_logo_, Bry_.new_a7("~{portal_nav_main_href}"));
|
||||
portal_mgr.Init_assert();
|
||||
Xoh_page_wtr_mgr page_wtr_mgr = new Xoh_page_wtr_mgr(true);
|
||||
page_wtr_mgr.Gen(wiki.Parser_mgr().Ctx().Page(), Xopg_page_.Tid_read);
|
||||
page_wtr_mgr.Gen(wiki.Parser_mgr().Ctx().Page(), Xopg_view_mode_.Tid__read);
|
||||
Tfds.Eq(String_.new_a7(portal_mgr.Div_logo_bry(true)), "/site/en.wikipedia.org/wiki/");
|
||||
}
|
||||
@Test public void Skip__math__basic() {
|
||||
|
@ -41,16 +41,16 @@ public class Xoh_page_wtr_wkr {
|
||||
wdata_lang_wtr.Page_(page);
|
||||
byte view_mode = page_mode;
|
||||
switch (page_mode) {
|
||||
case Xopg_page_.Tid_edit: fmtr = mgr.Page_edit_fmtr(); break;
|
||||
case Xopg_page_.Tid_html: fmtr = mgr.Page_read_fmtr(); view_mode = Xopg_page_.Tid_read; break; // set view_mode to read, so that "read" is highlighted in HTML
|
||||
case Xopg_page_.Tid_read: fmtr = mgr.Page_read_fmtr();
|
||||
case Xopg_view_mode_.Tid__edit: fmtr = mgr.Page_edit_fmtr(); break;
|
||||
case Xopg_view_mode_.Tid__html: fmtr = mgr.Page_read_fmtr(); view_mode = Xopg_view_mode_.Tid__read; break; // set view_mode to read, so that "read" is highlighted in HTML
|
||||
case Xopg_view_mode_.Tid__read: fmtr = mgr.Page_read_fmtr();
|
||||
// ctx.Page().Redlink_list().Clear(); // not sure if this is the best place to put it, but redlinks (a) must only fire once; (b) must fire before html generation; (c) cannot fire during edit (preview will handle separately); NOTE: probably put in to handle reusable redlink lists; redlink lists are now instantiated per page, so clear is not useful
|
||||
break;
|
||||
}
|
||||
Bry_bfr page_bfr = wiki.Utl__bfr_mkr().Get_m001(); // NOTE: get separate page rv to output page; do not reuse tmp_bfr b/c it will be used inside Fmt_do
|
||||
try {
|
||||
Xoh_wtr_ctx hctx = null;
|
||||
if (page_mode == Xopg_page_.Tid_html
|
||||
if (page_mode == Xopg_view_mode_.Tid__html
|
||||
&& wiki.Html__hdump_mgr().Load_mgr().Html_mode().Tid() == Xow_hdump_mode.Hdump_save.Tid()) {
|
||||
hctx = Xoh_wtr_ctx.Hdump;
|
||||
Write_body(page_bfr, ctx, hctx, page);
|
||||
@ -62,7 +62,7 @@ public class Xoh_page_wtr_wkr {
|
||||
Write_body(page_bfr, ctx, hctx, page);
|
||||
Write_page_by_tid(ctx, hctx, view_mode, rv, fmtr, page_bfr.To_bry_and_rls());
|
||||
scripting_mgr.Write(rv, wiki, page);
|
||||
if (page_mode == Xopg_page_.Tid_html) // if html, write page again, but wrap it in html skin this time
|
||||
if (page_mode == Xopg_view_mode_.Tid__html) // if html, write page again, but wrap it in html skin this time
|
||||
Write_page_by_tid(ctx, hctx, page_mode, rv, mgr.Page_html_fmtr(), Gfh_utl.Escape_html_as_bry(rv.To_bry_and_clear()));
|
||||
wdata_lang_wtr.Page_(null);
|
||||
}
|
||||
@ -94,7 +94,7 @@ public class Xoh_page_wtr_wkr {
|
||||
// byte[] html_content_editable = wiki.Gui_mgr().Cfg_browser().Content_editable() ? Content_editable_bry : Bry_.Empty;
|
||||
byte[] html_content_editable = Bry_.Empty;
|
||||
byte[] page_content_sub = Xoh_page_wtr_wkr_.Bld_page_content_sub(app, wiki, page, tmp_bfr);
|
||||
byte[] js_edit_toolbar_bry = html_gen_tid == Xopg_page_.Tid_edit ? wiki.Fragment_mgr().Html_js_edit_toolbar() : Bry_.Empty;
|
||||
byte[] js_edit_toolbar_bry = html_gen_tid == Xopg_view_mode_.Tid__edit ? wiki.Fragment_mgr().Html_js_edit_toolbar() : Bry_.Empty;
|
||||
Xol_vnt_mgr vnt_mgr = wiki.Lang().Vnt_mgr();
|
||||
if (vnt_mgr.Enabled()) {
|
||||
byte[] converted_title = vnt_mgr.Convert_lang().Converted_title(); // prefer converted title
|
||||
@ -110,7 +110,7 @@ public class Xoh_page_wtr_wkr {
|
||||
fmtr.Bld_bfr_many(bfr
|
||||
, root_dir_bry, Xoa_app_.Version, Xoa_app_.Build_date, app.Tcp_server().Running_str()
|
||||
, page.Db().Page().Id(), page.Ttl().Full_db()
|
||||
, page_name, page.Html_data().Page_heading().Init(wiki, html_gen_tid == Xopg_page_.Tid_read, page.Html_data(), page.Ttl().Full_db(), page_display_title)
|
||||
, page_name, page.Html_data().Page_heading().Init(wiki, html_gen_tid == Xopg_view_mode_.Tid__read, page.Html_data(), page.Ttl().Full_db(), page_display_title)
|
||||
, modified_on_msg
|
||||
, mgr.Css_common_bry(), mgr.Css_wiki_bry()
|
||||
, mgr.Css_night_bry(nightmode_enabled)
|
||||
@ -146,7 +146,7 @@ public class Xoh_page_wtr_wkr {
|
||||
byte[] data_raw = page.Db().Text().Text_bry();
|
||||
int bfr_page_bgn = bfr.Len();
|
||||
boolean page_tid_uses_pre = false;
|
||||
if (page_mode == Xopg_page_.Tid_edit)
|
||||
if (page_mode == Xopg_view_mode_.Tid__edit)
|
||||
Write_body_edit(bfr, data_raw, page_ns_id, page_tid);
|
||||
else {
|
||||
switch (page_tid) {
|
||||
|
@ -57,7 +57,7 @@ class Xoh_page_wtr_fxt {
|
||||
Xoae_page page = wiki.Parser_mgr().Ctx().Page();
|
||||
page.Db().Text().Text_bry_(Bry_.new_u8(raw));
|
||||
Xoh_page_wtr_mgr mgr = wiki.Html_mgr().Page_wtr_mgr();
|
||||
Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_page_.Tid_edit);
|
||||
Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_view_mode_.Tid__edit);
|
||||
wkr.Write_body(tmp_bfr, wiki.Parser_mgr().Ctx(), Xoh_wtr_ctx.Basic, page);
|
||||
Tfds.Eq(expd, tmp_bfr.To_str_and_clear());
|
||||
}
|
||||
@ -67,7 +67,7 @@ class Xoh_page_wtr_fxt {
|
||||
page.Ttl_(Xoa_ttl.Parse(wiki, Bry_.new_a7(page_name)));
|
||||
page.Db().Text().Text_bry_(Bry_.new_u8(page_text));
|
||||
Xoh_page_wtr_mgr mgr = wiki.Html_mgr().Page_wtr_mgr();
|
||||
Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_page_.Tid_read);
|
||||
Xoh_page_wtr_wkr wkr = mgr.Wkr(Xopg_view_mode_.Tid__read);
|
||||
wkr.Write_body(tmp_bfr, wiki.Parser_mgr().Ctx(), Xoh_wtr_ctx.Basic, page);
|
||||
Tfds.Eq(expd, tmp_bfr.To_str_and_clear());
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class Xow_hdump_mgr__save {
|
||||
public void Bld_hdump(Xoae_page page) {
|
||||
page.File_queue().Clear(); // need to reset uid to 0, else xowa_file_# will keep incrementing upwards
|
||||
Xoh_wtr_ctx hctx = Xoh_wtr_ctx.Hdump_by_hzip_tid(dflt_hzip_tid);
|
||||
wiki.Html__wtr_mgr().Wkr(Xopg_page_.Tid_read).Write_body(tmp_bfr, page.Wikie().Parser_mgr().Ctx(), hctx, page); // save as hdump_fmt
|
||||
wiki.Html__wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_body(tmp_bfr, page.Wikie().Parser_mgr().Ctx(), hctx, page); // save as hdump_fmt
|
||||
page.Db().Html().Html_bry_(tmp_bfr.To_bry_and_clear());
|
||||
}
|
||||
private byte[] Write(Xoh_hzip_bfr bfr, Xow_wiki wiki, Xoae_page page, Xoh_page hpg, Xoh_hzip_mgr hzip_mgr, Io_stream_zip_mgr zip_mgr, int zip_tid, int hzip_tid, byte[] src) {
|
||||
|
@ -53,7 +53,7 @@ public class Xob_hdump_bldr implements Gfo_invk {
|
||||
boolean is_wikitext = Xow_page_tid.Identify(wpg.Wiki().Domain_tid(), ttl.Ns().Id(), ttl.Page_db()) == Xow_page_tid.Tid_wikitext;
|
||||
byte[] orig_bry = Bry_.Empty;
|
||||
if (is_wikitext) {
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Write_hdump(tmp_bfr, ctx, Xoh_wtr_ctx.Hdump, wpg);
|
||||
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_hdump(tmp_bfr, ctx, Xoh_wtr_ctx.Hdump, wpg);
|
||||
orig_bry = tmp_bfr.To_bry_and_clear();
|
||||
wpg.Db().Html().Html_bry_(orig_bry);
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ public class Xoh_head_mgr implements gplx.core.brys.Bfr_arg {
|
||||
itm__xo_elem.Enabled_y_();
|
||||
itm__collapsible.Enabled_y_();
|
||||
itm__navframe.Enabled_y_();
|
||||
boolean popups_enabled = html_gen_tid != Xopg_page_.Tid_edit && wiki.Html_mgr().Head_mgr().Popup_mgr().Enabled();
|
||||
boolean popups_enabled = html_gen_tid != Xopg_view_mode_.Tid__edit && wiki.Html_mgr().Head_mgr().Popup_mgr().Enabled();
|
||||
itm__popups.Enabled_(popups_enabled);
|
||||
return this;
|
||||
}
|
||||
|
@ -133,9 +133,9 @@ public class Xow_portal_mgr implements Gfo_invk {
|
||||
Bry_bfr tmp_bfr = bfr_mkr.Get_k004();
|
||||
byte[] read_cls = Bry_.Empty, edit_cls = Bry_.Empty, html_cls = Bry_.Empty;
|
||||
switch (output_tid) {
|
||||
case Xopg_page_.Tid_read: read_cls = Cls_selected_y; break;
|
||||
case Xopg_page_.Tid_edit: edit_cls = Cls_selected_y; break;
|
||||
case Xopg_page_.Tid_html: html_cls = Cls_selected_y; break;
|
||||
case Xopg_view_mode_.Tid__read: read_cls = Cls_selected_y; break;
|
||||
case Xopg_view_mode_.Tid__edit: edit_cls = Cls_selected_y; break;
|
||||
case Xopg_view_mode_.Tid__html: html_cls = Cls_selected_y; break;
|
||||
}
|
||||
|
||||
// build url_fragment with action query argument; EX: "/wiki/Page_name?action="
|
||||
|
@ -14,6 +14,21 @@ GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt
|
||||
Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
|
||||
*/
|
||||
package gplx.xowa.wikis.pages; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*;
|
||||
public class Xopg_page_ {
|
||||
public static final byte Tid_read = 0, Tid_edit = 1, Tid_html = 2;
|
||||
public class Xopg_view_mode_ {
|
||||
public static final byte
|
||||
Tid__read = 0
|
||||
, Tid__edit = 1
|
||||
, Tid__html = 2;
|
||||
public static final byte[]
|
||||
Bry__read = Bry_.new_a7("read")
|
||||
, Bry__edit = Bry_.new_a7("edit")
|
||||
, Bry__html = Bry_.new_a7("html");
|
||||
public static byte[] To_bry(byte tid) {
|
||||
switch (tid) {
|
||||
case Tid__read: return Bry__read;
|
||||
case Tid__edit: return Bry__edit;
|
||||
case Tid__html: return Bry__html;
|
||||
default: throw Err_.new_unhandled_default(tid);
|
||||
}
|
||||
}
|
||||
}
|
@ -49,7 +49,7 @@ class Xox_xowa_html_cmd_fxt {
|
||||
Xop_root_tkn root = fxt.Exec_parse_page_all_as_root(raw_bry);
|
||||
fxt.Page().Root_(root);
|
||||
html_mgr.Html_wtr().Write_doc(bfr, fxt.Ctx(), raw_bry, root);
|
||||
html_mgr.Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Write_page(bfr, fxt.Page(), fxt.Ctx(), Xoh_page_html_source_.Wtr);
|
||||
html_mgr.Page_wtr_mgr().Wkr(Xopg_view_mode_.Tid__read).Write_page(bfr, fxt.Page(), fxt.Ctx(), Xoh_page_html_source_.Wtr);
|
||||
Tfds.Eq_str_lines(expd, bfr.To_str_and_clear());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user