You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

search.js 24 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. var token;
  2. if(isEmpty(token)){
  3. var meta = $("meta[name=_uid]");
  4. if(!isEmpty(meta)){
  5. token = meta.attr("content");
  6. console.log("token is uid:" + token);
  7. }
  8. }
  9. var html =document.documentElement;
  10. var lang = html.attributes["lang"]
  11. var isZh = true;
  12. if(lang != null && lang.nodeValue =="en-US" ){
  13. console.log("the language is " + lang.nodeValue);
  14. isZh=false;
  15. }else{
  16. console.log("default lang=zh");
  17. }
  18. function isEmpty(str){
  19. if(typeof str == "undefined" || str == null || str == ""){
  20. return true;
  21. }
  22. return false;
  23. }
  24. var itemType={
  25. "1":"repository",
  26. "2":"issue",
  27. "3":"user",
  28. "4":"org",
  29. "5":"dataset",
  30. "6":"pr"
  31. };
  32. var sortBy={
  33. "11":"updated_unix.keyword",
  34. "12":"num_watches.keyword",
  35. "13":"num_stars.keyword",
  36. "14":"num_forks.keyword",
  37. "21":"updated_unix.keyword",
  38. "31":"created_unix.keyword",
  39. "32":"name",
  40. "41":"created_unix.keyword",
  41. "42":"name",
  42. "51":"download_times.keyword",
  43. "61":"updated_unix.keyword"
  44. };
  45. var currentPage = 1;
  46. var pageSize = 15;
  47. var currentSearchTableName ="";
  48. var currentSearchKeyword="";
  49. var currentSearchSortBy="";
  50. var OnlySearchLabel=false;
  51. var startIndex =1;
  52. var endIndex = 5;
  53. var totalPage = 1;
  54. var totalNum = 0;
  55. function initPageInfo(){
  56. currentPage = 1;
  57. startIndex =1;
  58. endIndex = 5;
  59. }
  60. function searchItem(type,sortType){
  61. console.log("enter here 2.");
  62. currentSearchKeyword = document.getElementById("keyword_input").value;
  63. if(!isEmpty(currentSearchKeyword)){
  64. initPageInfo();
  65. currentSearchTableName = itemType[type];
  66. currentSearchSortBy = sortBy[sortType];
  67. OnlySearchLabel =false;
  68. page(currentPage);
  69. }
  70. }
  71. function search(){
  72. console.log("enter here 1.");
  73. currentSearchKeyword = document.getElementById("keyword_input").value;
  74. initPageInfo();
  75. if(!isEmpty(currentSearchKeyword)){
  76. currentSearchTableName = "repository";
  77. currentSearchSortBy = sortBy[11];
  78. OnlySearchLabel =false;
  79. page(currentPage);
  80. doSearch("issue",currentSearchKeyword,1,pageSize,true,"",false);
  81. doSearch("user",currentSearchKeyword,1,pageSize,true,"",false);
  82. doSearch("org",currentSearchKeyword,1,pageSize,true,"",false);
  83. doSearch("dataset",currentSearchKeyword,1,pageSize,true,"",false);
  84. doSearch("pr",currentSearchKeyword,1,pageSize,true,"",false);
  85. }
  86. }
  87. function searchLabel(){
  88. }
  89. function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true,sortBy="",OnlySearchLabel=false){
  90. $.ajax({
  91. type:"GET",
  92. url:"/all/dosearch/",
  93. headers: {
  94. authorization:token,
  95. },
  96. dataType:"json",
  97. data:{
  98. 'TableName': tableName,
  99. 'Key': keyword,
  100. 'Page': page,
  101. 'PageSize': pageSize,
  102. 'OnlyReturnNum':onlyReturnNum,
  103. 'SortBy':sortBy,
  104. 'OnlySearchLabel':OnlySearchLabel
  105. },
  106. async:true,
  107. success:function(json){
  108. console.log(json);
  109. displayResult(tableName,page,json,onlyReturnNum,keyword);
  110. },
  111. error:function(response) {
  112. console.log(response);
  113. }
  114. });
  115. }
  116. function displayResult(tableName,page,jsonResult,onlyReturnNum,keyword){
  117. if(tableName == "repository") {
  118. displayRepoResult(page,jsonResult,onlyReturnNum,keyword);
  119. } else if (tableName == "issue") {
  120. displayIssueResult(page,jsonResult,onlyReturnNum,keyword);
  121. } else if (tableName == "user") {
  122. displayUserResult(page,jsonResult,onlyReturnNum,keyword);
  123. } else if (tableName == "org") {
  124. displayOrgResult(page,jsonResult,onlyReturnNum,keyword);
  125. } else if (tableName == "dataset") {
  126. displayDataSetResult(page,jsonResult,onlyReturnNum,keyword);
  127. } else if (tableName == "pr") {
  128. displayPrResult(page,jsonResult,onlyReturnNum,keyword);
  129. }
  130. if(!onlyReturnNum){
  131. totalPage =Math.ceil(jsonResult.Total/pageSize);
  132. totalNum = jsonResult.Total;
  133. }
  134. }
  135. function displayPrResult(page,jsonResult,onlyReturnNum,keyword){
  136. var data = jsonResult.Result;
  137. var total = jsonResult.Total;
  138. $('#pr_total').text(total);
  139. if(!onlyReturnNum){
  140. setActivate("pr_item");
  141. $('#keyword_desc').text(keyword);
  142. $('#obj_desc').text("合并请求");
  143. $('#child_total').text(total);
  144. setIssueOrPrInnerHtml(data);
  145. }
  146. }
  147. var categoryDesc={
  148. "computer_vision":"计算机视觉",
  149. "natural_language_processing":"自然语言处理",
  150. "speech_processing":"语音处理",
  151. "computer_vision_natural_language_processing":"计算机视觉、自然语言处理"
  152. };
  153. var taskDesc={
  154. "machine_translation":"机器翻译",
  155. "question_answering_system":"问答系统",
  156. "information_retrieval":"信息检索",
  157. "knowledge_graph":"知识图谱",
  158. "text_annotation":"文本标注",
  159. "text_categorization":"文本分类",
  160. "emotion_analysis":"情感分析",
  161. "language_modeling":"语言建模",
  162. "speech_recognition":"语音识别",
  163. "automatic_digest":"自动文摘",
  164. "information_extraction":"信息抽取",
  165. "description_generation":"说明生成",
  166. "image_classification":"图像分类",
  167. "face_recognition":"人脸识别",
  168. "image_search":"图像搜索",
  169. "target_detection":"目标检测",
  170. "image_description_generation":"图像描述生成",
  171. "vehicle_license_plate_recognition":"车辆车牌识别",
  172. "medical_image_analysis":"医学图像分析",
  173. "unmanned":"无人驾驶",
  174. "unmanned_security":"无人安防",
  175. "drone":"无人机",
  176. "vr_ar":"VR/AR",
  177. "2_d_vision":"2-D视觉",
  178. "2_5_d_vision":"2.5-D视觉",
  179. "3_d_reconstruction":"3D重构",
  180. "image_processing":"图像处理",
  181. "video_processing":"视频处理",
  182. "visual_input_system":"视觉输入系统",
  183. "speech_coding":"语音编码",
  184. "speech_enhancement":"语音增强",
  185. "speech_recognition":"语音识别",
  186. "speech_synthesis":"语音合成"
  187. };
  188. function displayDataSetResult(page,jsonResult,onlyReturnNum,keyword){
  189. var data = jsonResult.Result;
  190. var total = jsonResult.Total;
  191. $('#dataset_total').text(total);
  192. if(!onlyReturnNum){
  193. setActivate("dataset_item");
  194. $('#keyword_desc').text(keyword);
  195. $('#obj_desc').text("数据集");
  196. $('#child_total').text(total);
  197. var sortHtml = "";
  198. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(5,51);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">下载次数</a>";
  199. document.getElementById("sort_type").innerHTML=sortHtml;
  200. var html = "";
  201. var currentTime = new Date().getTime();
  202. for(var i = 0; i < data.length;i++){
  203. var recordMap = data[i];
  204. html += "<div class=\"item\">";
  205. html += " <div class=\"content\">";
  206. html += " <div class=\"ui right metas\">" ;
  207. if(!isEmpty(recordMap["category"])){
  208. html += " <span class=\"text grey\"><svg class=\"svg octicon-tasklist\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-tasklist\" /></svg> " +recordMap["category"]+ "</span>";
  209. }
  210. if(!isEmpty(recordMap["task"])){
  211. html += " <span class=\"text grey\"><svg class=\"svg octicon-tag\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-tag\" /></svg>" +recordMap["task"]+ "</span>";
  212. }
  213. html += " <span class=\"text grey\"><i class=\"ri-fire-line\"></i> " +recordMap["download_times"] + "</span> ";
  214. html +=" </div>";
  215. html += " <div class=\"ui header\">";
  216. html += " <a class=\"name\" href=\"/" +recordMap["repoUrl"] +"/datasets?type=0\">" + recordMap["repoUrl"] + "</a>";
  217. html +=" <span class=\"middle\"><svg class=\"svg octicon-repo-clone\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-repo-clone\"></use></svg></span>";
  218. html +=" </div>";
  219. html += " <div class=\"description\">";
  220. html += " <p class=\"has-emoji\"> " + recordMap["title"] + "</p>";
  221. if(!isEmpty(recordMap["file_name"])){
  222. html += " <p class=\"has-emoji\"> " + recordMap["file_name"] + "</p>";
  223. }
  224. html +=" <p class=\"time\">";
  225. html +=" <span class=\"am-ml-10\"></span> 最后更新于 <span class=\"time-since poping up\" title=\"\" data-content=\"\" data-variation=\"inverted tiny\">" + getTime(recordMap["created_unix"],currentTime) +"</span>";
  226. html +=" </p>";
  227. html +=" </div>";
  228. html +=" </div>";
  229. html +="</div>";
  230. }
  231. document.getElementById("child_search_item").innerHTML=html;
  232. }
  233. }
  234. function displayOrgResult(page,jsonResult,onlyReturnNum,keyword){
  235. var data = jsonResult.Result;
  236. var total = jsonResult.Total;
  237. $('#org_total').text(total);
  238. if(!onlyReturnNum){
  239. setActivate("org_item");
  240. $('#keyword_desc').text(keyword);
  241. $('#obj_desc').text("组织");
  242. $('#child_total').text(total);
  243. var sortHtml = "";
  244. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(4,41);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">加入时间</a>";
  245. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(4,42);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">名称自然序</a>";
  246. document.getElementById("sort_type").innerHTML=sortHtml;
  247. var html = "";
  248. var currentTime = new Date().getTime();
  249. for(var i = 0; i < data.length;i++){
  250. var recordMap = data[i];
  251. html += "<div class=\"item members\">";
  252. html += "<img class=\"ui avatar image\" src=\"" + recordMap["avatar"] + "\"></img>";
  253. html += " <div class=\"content\">";
  254. html += " <div class=\"ui header\">";
  255. html += " <a class=\"name\" href=\"/" + recordMap["real_name"] +"\">" + recordMap["name"] + "</a>";
  256. html +=" </div>";
  257. html += " <div class=\"description\">";
  258. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  259. html +=" <p class=\"has-emoji\">";
  260. html +=" <i class=\"ri-map-pin-2-line\"></i> " + recordMap["location"];
  261. html +=" <span class=\"am-ml-10\"></span>";
  262. if(!isEmpty(recordMap["website"]) && recordMap["website"] != "null"){
  263. html +=" <i class=\"ri-links-line\"></i>" + "<a href=\""+ recordMap["website"] + "\" target=\"_blank\">" + recordMap["website"] + "</a>";
  264. }
  265. html +=" <i class=\"ri-time-line am-ml-10\"></i> 加入于 ";
  266. var userAddDate = new Date(recordMap["created_unix"]*1000);
  267. html += monthDisplay[userAddDate.getMonth()] + " " + userAddDate.getDay() + " " + userAddDate.getFullYear();
  268. html +=" </p>";
  269. html +=" </div>";
  270. html +=" </div>";
  271. html +="</div>";
  272. }
  273. document.getElementById("child_search_item").innerHTML=html;
  274. }
  275. }
  276. var monthDisplay=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec");
  277. function displayUserResult(page,jsonResult,onlyReturnNum,keyword){
  278. var data = jsonResult.Result;
  279. var total = jsonResult.Total;
  280. $('#user_total').text(total);
  281. if(!onlyReturnNum){
  282. setActivate("user_item");
  283. $('#keyword_desc').text(keyword);
  284. $('#obj_desc').text("用户");
  285. $('#child_total').text(total);
  286. var sortHtml = "";
  287. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(3,31);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">加入时间</a>";
  288. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(3,32);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_2\">名称自然序</a>";
  289. document.getElementById("sort_type").innerHTML=sortHtml;
  290. var html = "";
  291. var currentTime = new Date().getTime();
  292. for(var i = 0; i < data.length;i++){
  293. var recordMap = data[i];
  294. html += "<div class=\"item members\">";
  295. html += "<img class=\"ui avatar image\" src=\"" + recordMap["avatar"] + "\"></img>";
  296. html += " <div class=\"content\">";
  297. html += " <div class=\"ui header\">";
  298. html += " <a class=\"name\" href=\"/" + recordMap["real_name"] +"\">" + recordMap["name"] + "</a>";
  299. html +=" </div>";
  300. html += " <div class=\"description\">";
  301. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  302. html +=" <p class=\"has-emoji\">";
  303. html +=" <i class=\"ri-mail-line\"></i>" + recordMap["email"];
  304. html +=" <i class=\"ri-time-line am-ml-10\"></i> 加入于 ";
  305. var userAddDate = new Date(recordMap["created_unix"]*1000);
  306. html += monthDisplay[userAddDate.getMonth()] + " " + userAddDate.getDay() + " " + userAddDate.getFullYear();
  307. html +=" </p>";
  308. html +=" </div>";
  309. html +=" </div>";
  310. html +="</div>";
  311. }
  312. document.getElementById("child_search_item").innerHTML=html;
  313. }
  314. }
  315. function setIssueOrPrInnerHtml(data){
  316. var sortHtml = "";
  317. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(2,21);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">最近更新</a>";
  318. document.getElementById("sort_type").innerHTML=sortHtml;
  319. var html = "";
  320. var currentTime = new Date().getTime();
  321. for(var i = 0; i < data.length;i++){
  322. var recordMap = data[i];
  323. html += "<div class=\"item\">";
  324. html += " <div class=\"content\">";
  325. html += " <div class=\"ui header\">";
  326. html += " <a class=\"name\" href=\"/" + recordMap["repoUrl"] +"\">" + recordMap["name"] + "</a>";
  327. html +=" </div>";
  328. html += " <div class=\"description\">";
  329. html += " <p class=\"has-emoji\"> " + recordMap["content"] + "</p>";
  330. html +=" <p class=\"time\">";
  331. html +=" <i class=\"ri-code-box-line\"></i>";
  332. html +=" <a class=\"am-text grey\" href=\"/" + recordMap["repoUrl"] +"/" + recordMap["id"] + "\"> " + recordMap["repoUrl"] +"#" + recordMap["id"] + "</a>";
  333. html +=" <i class=\"ri-information-line am-ml-10\"></i> ";
  334. if(isEmpty(recordMap["is_closed"]) || recordMap["is_closed"]=="f"){
  335. html += "关闭";
  336. }else{
  337. html += "开启中";
  338. }
  339. html +=" <span class=\"am-ml-10\"></span> 最后更新于 <span class=\"time-since poping up\" title=\"\" data-content=\"\" data-variation=\"inverted tiny\">" + getTime(recordMap["updated_unix"],currentTime) +"</span>";
  340. html +=" </p>";
  341. html +=" </div>";
  342. html +=" </div>";
  343. html +="</div>";
  344. }
  345. document.getElementById("child_search_item").innerHTML=html;
  346. }
  347. function displayIssueResult(page,jsonResult,onlyReturnNum,keyword){
  348. var data = jsonResult.Result;
  349. var total = jsonResult.Total;
  350. $('#issue_total').text(total);
  351. if(!onlyReturnNum){
  352. setActivate("issue_item");
  353. $('#keyword_desc').text(keyword);
  354. $('#obj_desc').text("任务");
  355. $('#child_total').text(total);
  356. setIssueOrPrInnerHtml(data);
  357. }
  358. }
  359. function setActivate(name){
  360. $('#repo_item').removeClass("active");
  361. $('#user_item').removeClass("active");
  362. $('#issue_item').removeClass("active");
  363. $('#dataset_item').removeClass("active");
  364. $('#org_item').removeClass("active");
  365. $('#pr_item').removeClass("active");
  366. var tmp = "#" + name;
  367. $(tmp).addClass("active");
  368. }
  369. function displayRepoResult(page,jsonResult,onlyReturnNum,keyword){
  370. var data = jsonResult.Result;
  371. var total = jsonResult.Total;
  372. $('#repo_total').text(total);
  373. if(!onlyReturnNum){
  374. setActivate("repo_item");
  375. $('#keyword_desc').text(keyword);
  376. $('#obj_desc').text("项目");
  377. $('#child_total').text(total);
  378. var sortHtml = "";
  379. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(1,11);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">最近更新</a>";
  380. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(1,12);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">关注数</a>";
  381. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(1,13);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">点赞数</a>";
  382. sortHtml +="<a class=\"item\" href=\"javascript:searchItem(1,14);\" tabindex=\"-1\" role=\"menuitem\" id=\"menuitem_1\">Fork数</a>";
  383. document.getElementById("sort_type").innerHTML=sortHtml;
  384. var html = "";
  385. var currentTime = new Date().getTime();
  386. for(var i = 0; i < data.length;i++){
  387. var recordMap = data[i];
  388. html += "<div class=\"item\">";
  389. if(!isEmpty(recordMap['avatar'])){
  390. html += "<img class=\"ui avatar image\" src=\"" + recordMap['avatar'] + "\">";
  391. }
  392. html += " <div class=\"content\">";
  393. html += " <div class=\"ui header\">";
  394. html += " <a class=\"name\" href=\"/" + recordMap["owner_name"] + "/" + recordMap["real_name"] +"\"> <span class=\"highlight\">" + recordMap["owner_name"] +"</span> <span>/</span> <strong>" + recordMap["name"] + "</strong></a>";
  395. html +=" <span class=\"middle\"><svg class=\"svg octicon-repo-clone\" width=\"16\" height=\"16\" aria-hidden=\"true\"><use xlink:href=\"#octicon-repo-clone\"></use></svg></span>";
  396. html +=" </div>";
  397. html += " <div class=\"description\">";
  398. html += " <p class=\"has-emoji\"> " + recordMap["description"] + "</p>";
  399. html += " <div class=\"ui tags\">";
  400. if(!isEmpty(recordMap["topics"]) && recordMap["topics"] !="null"){
  401. for(var j = 0; j < recordMap["topics"].length;j++){
  402. //function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true,sortBy){
  403. html +=" <a href=\"javascript:doSearch('repository','" + recordMap["topics"][j] + "',1,15,false,'updated_unix.keyword',true);\"><div class=\"ui small label topic\">"+ recordMap["topics"][j] + "</div></a>";
  404. }
  405. }
  406. html +=" </div>";
  407. html +=" <p class=\"time\">";
  408. html +=" <i class=\"ri-star-line\"></i>" + recordMap["num_stars"] + "<i class=\"ri-git-branch-line am-ml-10\"></i>" + recordMap["num_forks"];
  409. html +=" 最后更新于 <span class=\"time-since poping up\" title=\"\" data-content=\"\" data-variation=\"inverted tiny\">" + getTime(recordMap["updated_unix"],currentTime) +"</span>";
  410. if(!isEmpty(recordMap["lang"])){
  411. html +=" <span class=\"text grey am-ml-10\"><i class=\"color-icon\" style=\"background-color: #3572A5\"></i>" + recordMap["lang"] + "</span>";
  412. }
  413. html +=" </p>";
  414. html +=" </div>";
  415. html +=" </div>";
  416. html +="</div>";
  417. }
  418. document.getElementById("child_search_item").innerHTML=html;
  419. }
  420. }
  421. function getTime(UpdatedUnix,currentTime){
  422. UpdatedUnix = UpdatedUnix;
  423. currentTime = currentTime / 1000;
  424. var timeEscSecond = currentTime - UpdatedUnix;
  425. if( timeEscSecond < 0){
  426. timeEscSecond = 1;
  427. }
  428. console.log("currentTime=" + currentTime + " updateUnix=" + UpdatedUnix);
  429. var hours= Math.floor(timeEscSecond / 3600);
  430. //计算相差分钟数
  431. var leave2 = Math.floor(timeEscSecond % (3600)); //计算小时数后剩余的秒数
  432. var minutes= Math.floor(leave2 / 60);//计算相差分钟数
  433. var leave3=Math.floor(leave2 % 60); //计算分钟数后剩余的秒数
  434. var seconds= leave3;
  435. if(hours == 0 && minutes == 0){
  436. return seconds + getRepoOrOrg(6,isZh);
  437. }else{
  438. if(hours > 0){
  439. if(hours >= 24){
  440. return Math.ceil(hours/24) + getRepoOrOrg(7,isZh);
  441. }else{
  442. return hours + getRepoOrOrg(4,isZh);
  443. }
  444. }else{
  445. return minutes + getRepoOrOrg(5,isZh);
  446. }
  447. }
  448. }
  449. function getRepoOrOrg(key,isZhLang){
  450. if(isZhLang){
  451. return repoAndOrgZH[key];
  452. }else{
  453. return repoAndOrgEN[key];
  454. }
  455. }
  456. var repoAndOrgZH={
  457. "1":"项目",
  458. "2":"成员",
  459. "3":"团队",
  460. "4":"小时前",
  461. "5":"分钟前",
  462. "6":"秒前",
  463. "7":"天前"
  464. };
  465. var repoAndOrgEN={
  466. "1":"repository",
  467. "2":"Members ",
  468. "3":"Teams",
  469. "4":" hours ago",
  470. "5":" minutes ago",
  471. "6":" seconds ago",
  472. "7":" days ago"
  473. };
  474. function page(current){
  475. //function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true,sortBy="",OnlySearchLabel=false){
  476. currentPage=current;
  477. doSearch(currentSearchTableName,currentSearchKeyword,current,pageSize,false,currentSearchSortBy,OnlySearchLabel);
  478. setPage(currentPage);
  479. }
  480. function nextPage(){
  481. currentPage = currentPage+1;
  482. console.log("currentPage=" + currentPage);
  483. page(currentPage);
  484. }
  485. function prePage(){
  486. console.log("currentPage=" + currentPage);
  487. if(currentPage > 1){
  488. currentPage = currentPage-1;
  489. console.log("currentPage=" + (currentPage));
  490. page(currentPage);
  491. }
  492. }
  493. $('#inputpage').on('keypress',function(event){
  494. if(event.keyCode == 13){
  495. goPage();
  496. }
  497. });
  498. function goPage(){
  499. var goNum = $('#inputpage').val();
  500. if (goNum<=0){
  501. alert("请输入大于0的数值");
  502. }
  503. else if(goNum<=totalPage){
  504. page(goNum);
  505. }
  506. else{
  507. alert("不能超出总页数!");
  508. }
  509. }
  510. function setPage(currentPage){
  511. if(totalPage==0){
  512. return;
  513. }
  514. console.log("currentPage=" + currentPage);
  515. $('#page_total').text("共 " + totalNum + " 条");
  516. if(currentPage > 1){
  517. $('#startPage').removeClass("disabled");
  518. $('#lastPage').removeClass("disabled");
  519. }else{
  520. $('#startPage').addClass("disabled");
  521. $('#lastPage').addClass("disabled");
  522. }
  523. console.log("totalPage=" + totalPage);
  524. var html ="";
  525. for(var i=startIndex-1; i < endIndex; i++){
  526. var page_i = (currentPage + i);
  527. if(page_i > totalPage){
  528. break;
  529. }
  530. if( i == (startIndex -1)){
  531. html += "<a id=\"page_" + page_i+ "\" class=\"active item\" href=\"page(" + page_i +")\">" + page_i + "</a>";
  532. }else{
  533. html += "<a id=\"page_" + page_i+ "\" class=\"item\" href=\"page(" + page_i +")\">" + page_i + "</a>";
  534. }
  535. }
  536. console.log("html=" + html)
  537. document.getElementById("page_ids").innerHTML=html;
  538. if(currentPage >=totalPage){
  539. $('#nextPage').addClass("disabled");
  540. $('#endPage').addClass("disabled");
  541. }else{
  542. $('#nextPage').removeClass("disabled");
  543. $('#endPage').removeClass("disabled");
  544. $('#endPage').attr("href","javascript:page(" + totalPage + ")");
  545. }
  546. }