/** * Created by iamchenxin on 2015/3/14. */ /* http://stackoverflow.com/questions/1038746/equivalent-of-string-format-in-jquery */ String.prototype.format = function () { var args = arguments; return this.replace(/\{(\d+)\}/g, function (m, n) { return args[n]; }); }; var WORDLIST_NAME = "user:admin:wordlist"; //---------------------- //Complement (set theory) ,conjuction function wComplement_w(main_sortlist,filter_words){ var main_map=make_map_w(main_sortlist); var filt_sortlist=make_unique_list(filter_words); var i=0; for(;i=2){ out_params[sub_arg[0].trim()]=sub_arg[1]; }else{ out_params["BAD"]=arg_list[i]; } } } var winid=jwin.attr("id"); if(winid){ out_params.winid=winid; }else{ throw "the dom who open ptwindow must has a id!"; } return out_params; }; PTwindow.ptw_list={}; PTwindow.Factory=function(window_type,params_obj){ var winid= params_obj.winid; if(winid==null){ throw "winid should not null!"; } if(!PTwindow.GetObj(winid)){ PTwindow.ptw_list[winid]=new window_type(params_obj); } return PTwindow.ptw_list[winid]; }; PTwindow.Factory_byElement=function(window_type,element) { var factory_win = jQuery(element); var winid=factory_win.attr("id"); if(!PTwindow.GetObj(winid)){ var params = PTwindow.Extract_ptparams(factory_win); PTwindow.Factory(window_type,params); } return PTwindow.ptw_list[winid]; }; PTwindow.GetObj=function(winid){ return PTwindow.ptw_list[winid]; }; PTwindow.prototype.get_closebt=function(){return this.jqwin.children(".ptclose");}; PTwindow.prototype.getwin=function(){return this.jqwin;}; PTwindow.prototype.getwinid=function(){return this.jqwin.attr("winid");}; PTwindow.prototype.getclientwin=function(){return this.jqwin.children(".pt_clientwin");}; PTwindow.prototype.show=function(speed){ if(speed!=true){speed=500;} this.jqwin.slideDown(speed); }; PTwindow.prototype.clickby= function(trigger){ jQuery(trigger).click({"obj":this,"fuc":this.show},tsshow); }; PTwindow.prototype.gain_wlistarray=function(wordlists_txt){ var warr = wordlists_txt.split(","); var outarr=[]; for(var i=0;inone'+helper_build_opt(u_pre,this.u_wordlists)); } PTwindow_E.prototype=Object.create( PTwindow.prototype); function helper_pe_gselect(jq_ob){ var g_wordlist = jq_ob.find("select.g_w_selct option:selected").html(); var u_wordlist = jq_ob.find("select.u_w_selct option:selected").html(); var outob={global:g_wordlist,user:u_wordlist}; return outob; } PTwindow_E.prototype.get_select_wordlist=function(){ var g_wordlist = this.getwin().find("select.g_w_selct option:selected").html(); var u_wordlist = this.getwin().find("select.u_w_selct option:selected").html(); var outob={global:g_wordlist,user:u_wordlist}; return outob; }; PTwindow_E.prototype.ajax_get_select_wlist= function (xcallback){ var jqwin =this.getwin(); var sel_arr = this.get_select_wordlist(); var request_arr=[]; if(sel_arr.global){ request_arr.push({jsonrpc:"2.0",method:"ps.get_wordlist",params:[sel_arr.global],id: "global"}); }else{ return xcallback(null); // global wordlist must be exsit ! or die } if((sel_arr.user==true)&&(sel_arr.user!="none" )){ request_arr.push({jsonrpc:"2.0",method:"ps.get_wordlist",params:[sel_arr.user],id: "user"}); } var xcall = xcallback; ajax_batchcall(request_arr,function(data){ var ob_sel={global:null,user:null}; var re_arr=data; for(var i=0;i{0}".format(word); } PTwindow_E.prototype.generate_def_more=function(word_def) { var indent = 1; var out_txt = ""; var word = word_def[0]; var pron = word_def[1]; var defsimp = word_def[2]; var defen_txt = word_def[3]; out_txt += "{0}{1} ({2}) \\\\ **{3}**\n".format(PTE_Olist_sbl(indent), PTE_make_voice(word), pron,defsimp); indent++; // out_txt += "{0}{1}\n".format(PTE_Ulist_sbl(indent), defsimp); if (defen_txt) { var defen=JSON.parse(defen_txt); for (var key in defen) { out_txt += "{0}{1}\n".format(PTE_Ulist_sbl(indent), key); var subdefs = defen[key]; indent++; for (var i = 0; i < subdefs.length; i++) { var sdef = subdefs[i]; out_txt += "{0}''{1}''\\\\ {2}\n".format(PTE_Olist_sbl(indent), sdef.mean, sdef.sen); } indent--; } } indent--; return out_txt; }; PTwindow_E.prototype.ajax_get_defs=function(words_arr,status,xcallback){ if(!status){status="MORE";} var call_ob=this; this.ajax_get_defs_raw(words_arr,status,function(defs){ var defs_map={}; for(var i=0;i
'); this.getclientwin().append(workdiv); } Editwindow.prototype=Object.create( PTwindow.prototype); Editwindow.prototype.get_edit_static=function(){ return this.getclientwin().children(".pt_edit_static"); }; Editwindow.prototype.get_edit_area=function(){ return this.getclientwin().children(".pt_edit_area"); }; // <<<<<<<<<<<--------Editwindow----------------------------- // ---------------------MulEditwindow---------------- /* param_obj.rt_win; * */ function MulEditwindow(param_obj){ param_obj.subclass=param_obj.subclass?param_obj.subclass:"MulEditwindow"; PTwindow_E.call(this,param_obj); this.edit_array=param_obj.rt_win; var edit_array =this.edit_array; var outtxt=""; for(var i=0;i your word list: '+this.u_wordlist_select; break; } } outtxt+='
'; outtxt+='
'; var workdiv =jQuery(outtxt); this.getclientwin().append(workdiv); } MulEditwindow.prototype=Object.create( PTwindow_E.prototype); MulEditwindow.prototype.ptlog=function(str){ var logblock= this.getwin().find(".pt_edit_log"); logblock.html(logblock.html()+str); }; MulEditwindow.prototype.check_word=function(words_arr,out_jqwin,mcall_back){ var call_ob=this; var call_back=mcall_back; ajax_xcall("ps.check_word",[words_arr],function(data){ var headwords=data.result["headwords"]; var rwords=data.result["rwords"]; var unwords=data.result["unwords"]; if(headwords) { var out_str = "[headwords]:\n" + headwords.join(", ") + "\n"; } if(rwords) { var rstr = []; var rw_ob = {}; for (var i = 0; i < rwords.length; i++) { if (rw_ob[rwords[i][1]] != null) { rw_ob[rwords[i][1]] += ", " + rwords[i][0]; } else { rw_ob[rwords[i][1]] = rwords[i][0]; } } for (var key in rw_ob) { rstr.push(" {0} ({1})".format(key, rw_ob[key])); } out_str += "\n[rwords]:\n" + rstr.join(", ") + "\n"; } if(unwords) { out_str += "\n[unwords]:\n" + unwords.join(", ") + "\n"; } out_jqwin.val(out_str); var out_log="headwords = {0} ,related words = {1} ,unwords(like location,name,etc..) = {2}
".format(headwords.length,rstr.length,unwords.length); call_ob.ptlog(out_log); if(call_back){ call_back(); } }); }; MulEditwindow.prototype.get_full_wordinf=function(words_arr,out_jqwin){ var call_ob=this; ajax_xcall("ps.check_word",[words_arr,"FULL"],function(data){ var headwords=data.result["headwords"]; var rwords=data.result["rwords"]; var extwords=data.result["extwords"]; var unwords=data.result["unwords"]; var headrt=[]; for (var i=0;i=1){ out_list.push(tmp); } } return out_list; } function extract_allwords(txt){ return txt.match(/[\w]+/g); } function extract_words_gt2(txt){ return txt.match(/[\w]{3,}/g); } //--------------- function Analyze_Win(){ var rt_win=[ {type:"area",nclass:"al_subt_src",height:"60%",width:"100%"}, {type:"static",nclass:"al_edit_src",height:"auto",width:"100%"}, {type:"wd_select"}, {type:"button",nclass:"al_filtword",value:"filt word",float:"right"}, {type:"area",nclass:"al_edit_words",height:"48%",width:"100%",display:"none"}, {type:"button",nclass:"al_checkword",value:"check word",float:"right",display:"none"}, {type:"button",nclass:"al_generate",value:"generate words",float:"right",display:"none"}, {type:"area",nclass:"al_edit_more",height:"48%",width:"100%",display:"none"}, {type:"button",nclass:"al_makewords",value:"Make new wordlist",float:"right",display:"none"}, ]; var params={ top: "0%",left:"3%",width:"93%",height:"92%", rt_win:rt_win,subclass:"pt_analyze_win" }; MulEditwindow.call(this,params); self.subtitle=jQuery(".al_subt_src").val(); this.heightlight(".al_filtword"); var call_ob=this; this.getwin().find("input.al_filtword").click(function(){ jQuery(this).hide(); call_ob.analyze_word(); }); this.getwin().find("input.al_checkword").click(function(){ jQuery(this).hide(); var txt_list=split_and_trim( call_ob.getwin().find(".al_edit_words").val()); txt_list.sort(); var thewin = call_ob.getwin().find(".al_edit_words"); call_ob.check_word(txt_list,thewin,function(){ call_ob.getwin().find("input.al_generate").show(); call_ob.heightlight(".al_generate"); }); }); this.getwin().find("input.al_generate").click(function(){ jQuery(this).val("Regenerate words"); call_ob.generate_words(); }); this.getwin().find("input.al_makewords").click(function(){ var in_jqwin=call_ob.getwin().find(".al_edit_more"); var out_jqwin=jQuery("#wiki__text"); call_ob.make_newwords(in_jqwin,out_jqwin); }); } Analyze_Win.prototype=Object.create( MulEditwindow.prototype); Analyze_Win.prototype.analyze_word=function(){ var call_ob=this; var sel_wordlist =call_ob.get_select_wordlist(); ajax_xcall("ps.get_wordlist",[sel_wordlist["global"]],function(data){ jQuery(".al_edit_words").val("begin to analyze wos~~~"); var wordlisttxt = data.result; var wd_filter = wordlisttxt.split(","); self.subtitle=jQuery(".al_subt_src").val(); var texttmp = self.subtitle; var text = texttmp.toLocaleLowerCase(); var txlist= extract_words_gt2(text); var work_inf = "This page has " +txlist.length +" words."; call_ob.txlist_unsort=txlist.concat(); txlist.sort(); var wordls_set = make_map_w(txlist); var word_sort_list=new Array(); for(var kk in wordls_set){ word_sort_list.push(kk); } word_sort_list.sort(); work_inf+="and "+word_sort_list.length+" unique words.
"; var src_words = JSON.stringify(wordls_set,null,"\t")+"


"; jQuery(".al_edit_src").html(src_words); var newwords_list = wComplement_w(word_sort_list,wd_filter); call_ob.newwords_list=newwords_list; work_inf+= "Un match words = " +newwords_list.length+",Your filter conut="+wd_filter.length+"
" ; var rtstr=newwords_list.join(", "); jQuery(".al_edit_words").val(rtstr); call_ob.ptlog(work_inf); call_ob.getwin().find(".al_edit_words").show(); call_ob.getwin().find(".al_checkword").show(); call_ob.heightlight(".al_checkword"); call_ob.ctwinScrollDown(); }); }; Analyze_Win.prototype.generate_words=function(){ var call_ob=this; var txt_edit_words = call_ob.getwin().find(".al_edit_words").val(); var txt_list = txt_edit_words.split(/\[[\w]+\]:/); var head_tmp=txt_list[1]; var r_tmp=txt_list[2]; var un_tmp=txt_list[3]; var out_arr=[]; if(txt_list.length>1){ // has headwords out_arr=extract_allwords(txt_list[1]); } if(txt_list.length>3){ // has unwords out_arr=out_arr.concat(extract_allwords(txt_list[3])); } var out_list_set={}; for(var i=0;i2){ // has related words var r_arr=txt_list[2].match(/[^,\(]+\([^\)]*\)|[\w]+/g); var r_length = r_arr?r_arr.length:0; for(var i=0;i1){ out_list_set[tmp_words[1]]=tmp_words[0]; }else{ out_list_set[tmp_words[0]]=tmp_words[0]; } } } } // console.log(JSON.stringify(txlist_unsort)); var txlist_unsort = call_ob.txlist_unsort; var unsort_out_list = []; for(var i=0;i" ; call_ob.getwin().find(".al_edit_more").val(out_list.join(", ")); call_ob.ptlog(log_inf); call_ob.getwin().find(".al_edit_more").show(); call_ob.getwin().find(".al_makewords").show(); call_ob.heightlight(".al_makewords"); call_ob.ctwinScrollDown(); }; function get_pagename(){ if(JSINFO['id']){ var tmp_arr = JSINFO['id'].split(":"); var name = tmp_arr[tmp_arr.length-1]; return name; }else{ return "ERR"; } } Analyze_Win.prototype.make_newwords=function(in_jqwin,out_jqwin){ var newwords = extract_allwords(in_jqwin.val()); var subtitle_id=JSINFO['id']+":"+JSINFO['subtitle_dst']; var subt_name=get_pagename(); var wordmean_id=JSINFO['id']+":"+JSINFO['def_dst']; var wordlist_id=JSINFO['id']+":"+JSINFO['wordlist_dst']; var out_str="====== Movie Inf ======\n"; out_str+="\nLike genre,stars,director and more,please editor me\n"; out_str+="====== wordlist ======\n"; out_str+="The wordlist location [[{0}]]\n".format(wordlist_id); out_str+="Show wordlist of this page\n".format(wordlist_id); out_str+="\n===== slice =====\n"; out_str+="\n====== Notice ======\n"; out_str+="\n some hard grammar or sentence in movie,please editor me\n"; out_str+="\n====== Words Meaning ======\n"; out_str+="The words meaning location [[{0}]]\n".format(wordmean_id); out_str+="Show All New Word Meaning\n".format(wordmean_id); out_str+="\n====== Subtitle ======\n"; out_str+="The srt file location [[{0}]]\\\\ \n".format(subtitle_id); out_str+="Show {1}.srt \n".format(subtitle_id,subt_name); out_jqwin.val(out_str); console.log(subt_name+"---"+JSINFO['id']); ajax_xcall("ps.cp_defs",[JSINFO['id'],newwords],function(data){ console.dir(data); }); ajax_xcall("ps.cp_subtitle",[JSINFO['id'],self.subtitle],function(data){ console.dir(data); }); ajax_xcall("ps.cp_wordlist",[JSINFO['id'],newwords.join(",")],function(data){ console.dir(data); }); this.getwin().slideUp(500); }; function Init_english_edit_tool(){ var con_win= jQuery(".pt_pa_sub"); con_win.find(".xxpg_analyze").click(function(){ var ptana=PTwindow.Factory(Analyze_Win,{winid:"analyze_w"}); ptana.show(1000); ptlog.log("hello,iam xxpg_analyze click : {0}".format(jQuery(this).html())); }); con_win.find(".xxpg_merge").click(sort_wordlist); } //---------------------- function ajax_get_words(){ // alert("ajax_get_words"); var mdata={}; mdata['pageid']=WORDLIST_NAME; mdata['call']="ajaxpeon"; mdata['target']="rawpage"; var url = DOKU_BASE + 'lib/exe/ajax.php'; jQuery.ajax({url:url,data:mdata,success:words_analyze,dataType:"jsonp",crossDomain:true}); jQuery("#pagestat_rt").slideDown(1000); jQuery("#pagestat_txtout").html("get filter list~~~"); } function insert_words_todk(){ var anal_txt= jQuery("#pagestat_edit").val(); var anal_list=anal_txt.split(","); var outstr=""; for (var x in anal_list){ anal_list[x]=anal_list[x].trim(); } anal_list.sort(); outstr+=anal_list.join(","); outstr+=""+anal_list.length+"\n\n"; var edit_txt = jQuery("#wiki__text").val(); jQuery("#wiki__text").val(outstr+edit_txt); jQuery("#pagestat_edit").slideUp(500); jQuery("#pagestat_rt").slideUp(1000); } function sort_wordlist(){ var edit_txt = jQuery("#wiki__text").val(); var word_list =edit_txt.split(","); for(var jj=0;jj ({0}/{1})".format(call_ob.card_index+1,call_ob.word_cards.length)); }); } WordCard_Win.prototype=Object.create(MulEditwindow.prototype) ; WordCard_Win.prototype.build_card=function(w_from,w_to){ var ctwin=this.getclientwin(); var infowin= ctwin.find(".wc_inf"); var jq_wordlist=jQuery(".wordlist"); var word_list=[]; if(jq_wordlist.length==0){ infowin.html("there is no wordlist in this page!!"); return } if(jq_wordlist.length>0) { var wd_txt = jq_wordlist.text(); var tmp="\\b{0}\\b.+\\b{1}\\b".format(w_from, w_to); // var tmp="\b"+s_from+"\b.+\b"+s_to+"\b"; var reg_sr = new RegExp(tmp); var rt = wd_txt.match(reg_sr); if (rt) { word_list=extract_allwords(rt[0]); }else{ infowin.html("!!! Maybe The slice words was deleted from the wordlist,please choose another word to slice"); } } var word_map={}; for(var i=0;i=this.word_cards.length){this.card_index=0;} var word_c= this.word_cards[this.card_index]; var div_wrap='
{0}
'.format(word_c); ctwin.find(".wc_wordcard").html(div_wrap); mxyd_voice_onclick(".wrap_vo",ctwin[0]); ctwin.find(".wrap_vo").click(); return word_c; }; function Make_wordcard_win(){ var jq_xxbk_wl=jQuery(".xxbk_type_wordlist"); var jq_xxbk_def=jQuery(".xxbk_type_def"); var call_ob=this; XXBK_base_ui.prototype.click_delay.call(this,[jq_xxbk_wl,jq_xxbk_def],function(){ var params = PTwindow.Extract_ptparams(jQuery(call_ob)); var ptwin=PTwindow.Factory(WordCard_Win, params); ptwin.show(); }); } // <<<<<<<<<<<<<<---------------------------------------------------- //-----------------------------------test win ----------------------- function XXtest_Win(top,left,width,height){ var rt_win=[ {type:"area",nclass:"ck_test_input",height:"48%",width:"100%"}, {type:"button",nclass:"ckbt_test",value:"test",float:"right"}, {type:"area",nclass:"ck_test_out",height:"48%",width:"100%"} ]; MulEditwindow.call(this,"pt_test_win",rt_win,top,left,width,height); } XXtest_Win.prototype=Object.create(MulEditwindow.prototype) ; XXtest_Win.prototype.createwin=function(winid) { MulEditwindow.prototype.createwin.call(this, winid); var ctwin = this.getclientwin(); var call_ob = this; call_ob.heightlight(".ckbt_test"); ctwin.find(".ckbt_test").click(function(){ var wordtxt =ctwin.find(".ck_test_input").val(); var word_arr = extract_allwords(wordtxt); call_ob.ajax_get_defs(word_arr,"MORE",function(def_txt){ ctwin.find(".ck_test_out").val(def_txt); }); }); }; function Make_XXtest_Win(){ var winid = jQuery(this).attr("id"); if(ptw_list[winid]==null){ var top = jQuery(this).attr("arg1"); var left = jQuery(this).attr("arg2"); var width = jQuery(this).attr("arg3"); var height = jQuery(this).attr("arg4"); var ptwin =new XXtest_Win(top,left,width,height); ptwin.createwin(winid); ptw_list[winid]=ptwin; } ptw_list[winid].show(); ptw_list[winid].getwin().draggable(); } // ----------- list windows -------------- function make_list( learn_list,backns,ptwinid ){ var ckname="ck_"+ptwinid; var mystr=""; mystr+='
  • Back
  • '.format(backns,ptwinid); if(learn_list['ns']){ for(var ns in learn_list['ns']){ var ckid="ckn_"+ns.replace(/:/g,"_"); mystr+='
  • \
  • '.format(ptwinid,ckname,ns,ckid,ns); } } mystr+='
    '; if(learn_list['files']){ for(var i=0;i
'); // var learndir = jQuery(''); var btckall = jQuery(''); var btunckall = jQuery(''); btckall.click(function(){ jQuery(this).parent().find('input[type="checkbox"]').prop("checked",true); }); btunckall.click(function(){ jQuery(this).parent().find('input[type="checkbox"]').prop("checked",false); }); // var user_filter_sel = jQuery(''); this.getclientwin().append(learnlist); // this.getclientwin().append(learndir); this.getclientwin().append(btckall); this.getclientwin().append(btunckall); // this.getclientwin().append(user_filter_sel); var mdata=new Object(); mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="learnlist"; mdata['reflect']=winid; jQuery.ajax({url:url,data:mdata,success:handle_list,dataType:"jsonp",crossDomain:true}); } Listwindow.prototype=Object.create( PTwindow.prototype); function addfilter_aj(mdata){ var ptwin =PTwindow.GetObj[mdata.reflect]; var word_list_txt =mdata.content; var filter_sel = jQuery(''); if(word_list_txt.length>5){ var filter = word_list_txt.split(","); ptwin.filter = filter; var filter_sel = jQuery(''.format(WORDLIST_NAME) ); } ptwin.getclientwin().append(filter_sel); } Listwindow.prototype.addfilter=function(){ var mdata=new Object(); mdata['pageid']=WORDLIST_NAME; mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="rawpage"; mdata['reflect']=this.getwinid(); jQuery.ajax({url:url,data:mdata,success:addfilter_aj,dataType:"jsonp",crossDomain:true}); }; var USER_WORDLIST_NAME ; function add_userfilter_aj(mdata){ var ptwin =PTwindow.GetObj[mdata.reflect]; var user_list_txt =mdata.content; var user_filter_sel = jQuery(''); if(user_list_txt.length>5){ ptwin.user_filter=user_list_txt.split(","); user_filter_sel = jQuery(''.format(USER_WORDLIST_NAME) ); } ptwin.getclientwin().append(user_filter_sel); } Listwindow.prototype.adduser_filter=function(){ var mdata=new Object(); mdata['pageid']=USER_WORDLIST_NAME; mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="rawpage"; mdata['reflect']=this.getwinid(); jQuery.ajax({url:url,data:mdata,success:add_userfilter_aj,dataType:"jsonp",crossDomain:true}); }; Listwindow.prototype.getSublearnlist =function(sublearnlist,out_arr){ if(sublearnlist["ns"] ){ for(var subns in sublearnlist['ns']){ this.getAllSublearnlist(sublearnlist['ns'][subns],out_arr); } } if(sublearnlist["files"]){ for(var i=0;i
" +ptwin.parse_str; ptwin.parse_output.html(ptwin.parse_logstr+"

"+ptwin.parse_str ); ptwin.pb_pre_wordss =tmplist; } if(ptwin.parse_count\ '); var parse_bt = jQuery(''.format(winid)); parse_bt.click({"ptwin":ptwin},parse_learn); // ptwin.addfilter(); // ptwin.adduser_filter(); ptwin.getclientwin().append(logic_sel); ptwin.getclientwin().append(parse_bt); } ptwin.show(); } function search_learn_aj(mdata){ var ptwin =PTwindow.GetObj[mdata.reflect]; var page_wordlists = mdata.content; var mystr=""; var filter = ptwin.user_filter; for(var learnname in page_wordlists){ var wordarray = page_wordlists[learnname].split(","); var match_list = wIntersection_w(wordarray,filter); var unmatch_list = wComplement_w(wordarray,match_list); var match_rate = (match_list.length/wordarray.length)*100; var tmphh = match_rate.toString().split("."); var match_rate_str = tmphh[0]; if(tmphh[1]!=null) { match_rate_str += "." + tmphh[1].substring(0, 2); } mystr+='
{2} , match rate:{0}% ({3}/{4}),more detail...
\ Unmatch list:[ {5} ]
Match list : [ {6}]
'.format(match_rate_str,DOKU_BASE+learnname,learnname,match_list.length,wordarray.length,unmatch_list.join(","),match_list.join(",")); } ptwin.output.html(mystr); ptwin.output.find(".match_show_dl").click(function(){ jQuery(this).siblings(".mt_more_words").toggle(); }); } function search_learn(event){ var ptwin = event.data.ptwin; var sl_learn_list = ptwin.getselect_learn(); var parse_fuc = ptwin.getclientwin().find('select[name="logic_sel"]').val(); if(sl_learn_list.length>0){ var buttonid= jQuery(this).attr("id"); var swin=PTwindow.GetObj(buttonid); if(!swin){ swin=PTwindow.Factory(PTwindow,{winid:buttonid,subclass:"ptsearch",top:"2%",left:"2%",width:"90%",height:"80%"}); ptwin.output=swin.getclientwin(); } ptwin.output.html("receiving learn data ..."); swin.show(); var mdata=new Object(); mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="page_wordlists"; mdata['pglist']=JSON.stringify(sl_learn_list); mdata['reflect']=ptwin.getwinid(); jQuery.ajax({url:url,data:mdata,success:search_learn_aj,dataType:"jsonp",crossDomain:true}); } } function search_learn_win(){ var winid = jQuery(this).attr("id"); var ptwin=PTwindow.GetObj(winid); if(!ptwin){ var params = PTwindow.Extract_ptparams(jQuery(this)); params.subclass="search_learn"; ptwin=PTwindow.Factory(Listwindow,params); var search_bt = jQuery(''.format(winid)); search_bt.click({"ptwin":ptwin},search_learn); // ptwin.addfilter(); ptwin.adduser_filter(); ptwin.getclientwin().append(search_bt); } ptwin.show(); } // <<<<<<<<<<--------------------open_page --------- function open_page_worker(data){ var buttonid = data.reflect; var ptwin =PTwindow.GetObj(buttonid); ptwin.show(); if (data.content.length<3){ptwin.getclientwin().html("Missing word . . ."); }else{ ptwin.getclientwin().html(data.content); } } function open_page_win(){ var params= PTwindow.Extract_ptparams(jQuery(this)); if(params.pageid==null){ return; } var ptwin=PTwindow.GetObj(params.winid); if(!ptwin){ params.subclass="ptopen"; ptwin=PTwindow.Factory(PTwindow,params); } var mdata=new Object(); mdata['pageid']=params.pageid; mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="page"; mdata['reflect']=params.winid; jQuery.ajax({url:url,data:mdata,success:open_page_worker,dataType:"jsonp",crossDomain:true}); } // ------------------edit wordlist ----------- function addto_w_rt(mdata){ var ptwin =ptw_list[mdata.reflect]; var rttxt = mdata.content; ptwin.get_edit_static().html(rttxt); } function addto_wordlist(event){ var ptwin = event.data.ptwin; var send_txt = ptwin.get_edit_area().val(); var mdata=new Object(); mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="writeraw"; mdata['sub']="wordlist"; mdata['txt']=send_txt; mdata['pageid']=JSINFO['userwords_ns']+JSINFO['user']+":"+ptwin.dst_page; mdata['reflect']=ptwin.getwinid(); jQuery.ajax({url:url,data:mdata,success:addto_w_rt,dataType:"jsonp",crossDomain:true}); } function addnewwords_win(){ var winid = jQuery(this).attr("id"); if(ptw_list[winid]==null){ var top = jQuery(this).attr("arg2"); var left = jQuery(this).attr("arg3"); var width = jQuery(this).attr("arg4"); var height = jQuery(this).attr("arg5"); var ptwin =new Editwindow("addwords",top,left,width,height); ptwin.createwin(winid); ptwin.dst_page = jQuery(this).attr("arg1"); ptw_list[winid]=ptwin; var addw_bt = jQuery(''.format(winid)); addw_bt.click({"ptwin":ptwin},addto_wordlist); ptwin.getclientwin().append(addw_bt); } ptw_list[winid].show(); } // <<<<----------------edit wordlist------------------ //----------------pg_convert_wordls------ var wls_ori_words_list =null; var wls_filter_set=null; function addto_txt_rt(mdata){ // alert(mdata.content); filt_page_wordls(); } function addto_wordlist_txt(words_txt){ var mdata=new Object(); mdata['call']="ajaxpeon"; var url = DOKU_BASE + 'lib/exe/ajax.php'; mdata['target']="writeraw"; mdata['sub']="wordlist"; mdata['txt']=words_txt; mdata['pageid']=USER_WORDLIST_NAME; jQuery.ajax({url:url,data:mdata,success:addto_txt_rt,dataType:"jsonp",crossDomain:true}); } function add_newwords(event){ var wlsdiv = event.data.wlsdiv; var add_list=new Array(); wlsdiv.find('input.wl_unm').each(function(i,v){ if( jQuery(this).prop("checked")==true ){ add_list.push(jQuery(this).val()); } }); // alert(add_list.join(",")); addto_wordlist_txt(add_list.join(",")); } function pg_convert_wordls(mdata){ var wordls_txt =mdata.content; if(wordls_txt.length<10){ return; } var wlsdiv = jQuery(".wordlist"); if(wlsdiv.length<1){ alert("no wordlist"); return; } var wlist=""; if(wls_ori_words_list==null){ var wlist =wlsdiv.text().split(","); wls_ori_words_list = wlist; }else{ wlist = wls_ori_words_list; } var filter_list =wordls_txt.split(","); var filter_set=make_map_w(filter_list); var outstr = ""; for(var i=0;i=2){ out_params[sub_arg[0].trim()]=sub_arg[1]; }else{ out_params["BAD"]=arg_list[i]; } } out_params.command=jwin.attr("command"); return out_params; }; XXBK_base_ui.xxbk_list={}; //{dom_me:""} XXBK_base_ui.Factory_byMe=function(ui_type,params_obj){ var j_me = jQuery(params_obj.dom_me); var winid=j_me.attr("id"); if(j_me.attr("init")!="n"){ return XXBK_base_ui.xxbk_list[winid]; } j_me.attr("init","y"); if(!XXBK_base_ui.GetObj(winid)){ var params = XXBK_base_ui.Extract_bkparams(j_me); params.dom_me=params_obj.dom_me; XXBK_base_ui.xxbk_list[winid]=new ui_type(params); } return XXBK_base_ui.xxbk_list[winid]; }; XXBK_base_ui.GetObj=function(winid){ return XXBK_base_ui.xxbk_list[winid]; }; // javascript can use XXBK_base_ui.prototype.create_ui=function(params_obj){ var jdom_me=this.jdom_me; var winid=jdom_me.attr("id"); var ori_txt = jdom_me.html(); var base_ui_txt='{2} \ \ '.format(params_obj.command,winid,ori_txt); this.base_ui=jQuery(base_ui_txt); jdom_me.html(""); jdom_me.append(this.base_ui); var call_ob=this; this.jdom_me.find("span.xxbk_base_title").click(function(){ var ct_div=call_ob.jdom_me.find("div.xxbk_base_ct"); if(ct_div.length==0){ call_ob.jdom_me.html("xxbk_base_ui was broken!please check the page!"); return; } if(ct_div.attr("init")=='n') { call_ob.init_ct_div(ct_div,params_obj); } ct_div.toggle(); }); }; XXBK_base_ui.prototype.init_ct_div=function(ct_div_j){ ct_div_j.html("how are you"); }; XXBK_base_ui.prototype.getTitle=function(){ return this.jdom_me.find(".xxbk_base_title").eq(0); }; XXBK_base_ui.prototype.getCTdiv=function(){ return this.jdom_me.find(".xxbk_base_ct").eq(0); }; XXBK_base_ui.prototype.click_delay=function(xx_jq_list,call_back){ var call_ob=this; if(call_ob.wl_timer!=null){ console.log("during timer"); return; } console.log("click_delay"); // chick all object in jq_list ,and if they are all inited ,just call_back and return var init_all=true; for(var i=0;i0) { var wd_txt = jq_wordlist.text(); var s_from = params_obj.from; var s_to = params_obj.to; var tmp="\\b{0}\\b.+\\b{1}\\b".format(s_from, s_to); var reg_sr = new RegExp(tmp); var rt = wd_txt.match(reg_sr); if (rt) { ct_div_j.html(rt[0]); }else{ ct_div_j.html("!!! Maybe The slice words was deleted from the wordlist,please choose another word to slice"); } } }; // <<<<<<<<<<<<<<-----------------cp sidebar ------------------- function XXBK_newTpl(params_obj){ XXBK_base_ui.call(this,params_obj); } XXBK_newTpl.prototype=Object.create( XXBK_base_ui.prototype); XXBK_newTpl.prototype.init_ct_div=function(ct_div_j,params_obj) { var tpl=params_obj.template; var call_ob=this; ajax_xcall("tp.newtpl",[tpl],function(data){ var dst_page=data.result; if(dst_page){ window.location="/{0}?do=edit".format(dst_page); }else{ if(data.error){ ct_div_j.html(data.error.data); } } ct_div_j.attr("init",'y'); }); }; //<<<<<<<<<<<<<<<<<<<-----------xxbk_open------------------------ function XXBK_open(params_obj){ XXBK_base_ui.call(this,params_obj); } XXBK_open.prototype=Object.create( XXBK_base_ui.prototype); XXBK_open.prototype.init_ct_div=function(ct_div_j,params_obj){ XXBK_base_ui.prototype.init_ct_div.call(this,ct_div_j); ct_div_j.html(ct_div_j.html()+"
i am XXBK_open"); var pageid=params_obj.page; var call_ob=this; // some init for framework switch (params_obj.type){ case "wordlist": ct_div_j.addClass("wordlist"); this.jdom_me.addClass("xxbk_wordlist"); break; default : break; } ajax_xcall("wiki.getPageHTML",[pageid],function(data){ ct_div_j.html(data.result); var js_div=ct_div_j[0]; // some init for content switch (params_obj.type){ case "wordlist": break; default : init_ui(js_div); init_mxyd_voice(".wrap_vo","y"); break; } ct_div_j.attr("init",'y'); }); }; //<<<<<<<<<<<<<<<<<<<<<< function syntax_BK_init(context) { var sel_txt = parent+".xxbk"; jQuery(".xxbk",context).each(function (index, element) { //element == this // var class_txt = jQuery(this).attr("class"); // var ctype = class_txt.match(/\bxxbk_[\w]+\b/); var command = jQuery(this).attr("command"); if(command){ switch (command){ case "slice": XXBK_base_ui.Factory_byMe(XXBK_slice,{dom_me:element}); break; case "newtpl": XXBK_base_ui.Factory_byMe(XXBK_newTpl,{dom_me:element}); break; case "open": XXBK_base_ui.Factory_byMe(XXBK_open,{dom_me:element}); break; } } }); } //<<<<<<<<<<<<<<<<<<<< ------ things execute in php!!---------- function init_pagetools(){ var jwin=jQuery(".pt_pa_sub"); jwin.appendTo("body"); var theul=jwin.find("ul").eq(0); theul.find("li").each(function(){ var subdiv=jQuery(this).children("div"); var subhm =subdiv.html(); subdiv.remove(); jQuery(this).html(subhm+jQuery(this).html()); }); theul.menu(); var anck = jQuery(".pt_pagetools"); var oset= anck.offset(); oset.left+=anck.offsetParent().width()+10; jwin.offset(oset); jQuery(".pt_pagetools").click(function(event){ event.preventDefault(); event.stopPropagation(); jQuery(".pt_pa_sub").toggle(); jQuery(this).blur(); }); } function init_ui(context){ /* var divstr='
\ \
'.format("openpage"); */ // alert(jQuery("html").hasClass("phone")); USER_WORDLIST_NAME = 'user:'+JSINFO['user']+":wordlist"; WORDLIST_NAME=JSINFO['wordlist_ns']+"wordlist"; ptlog=new PTlog(); init_pagetools(); syntax_BK_init(context); pg_show_wordlist(context); Init_english_edit_tool(); jQuery(" .xxpg_learn",context).click(search_learn_win); jQuery(" .xxpg_parse",context).click(parse_learn_win); jQuery(" .xxpg_open",context).click(open_page_win); jQuery(" .xxpg_words",context).click(addnewwords_win); jQuery(" .xxpg_twoedit",context).click(Two_edit_win); jQuery(" .xxpg_checkwords",context).click(Make_Checkwords_Win); jQuery(" .xxpg_test",context).click(Make_XXtest_Win); jQuery(" .xxpg_card",context).click(Make_wordcard_win); ptlog.log("hello"); } jQuery(function(){ // jQuery methods go here... init_ui(); });