|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- var html =document.documentElement;
- var lang = html.attributes["lang"]
- var isZh = true;
- if(lang != null && lang.nodeValue =="en-US" ){
- console.log("the language is " + lang.nodeValue);
- isZh=false;
- }else{
- console.log("default lang=zh");
- }
- function isEmpty(str){
- if(typeof str == "undefined" || str == null || str == ""){
- return true;
- }
- return false;
- }
-
-
-
- function search(){
- console.log("enter here.");
- var keyword = document.getElementById("keyword_input").value;
- var page =1;
- var pageSize=15;
- if(!isEmpty(keyword)){
- doSearch("repository",keyword,page,pageSize,false);
- doSearch("issue",keyword,page,pageSize,true);
- doSearch("user",keyword,page,pageSize,true);
- doSearch("org",keyword,page,pageSize,true);
- doSearch("dataset",keyword,page,pageSize,true);
- doSearch("pr",keyword,page,pageSize,true);
- }
- }
-
- function doSearch(tableName,keyword,page,pageSize=15,onlyReturnNum=true){
- $.ajax({
- type:"GET",
- url:"/all/dosearch/",
- headers: {
- authorization:token,
- },
- dataType:"json",
- dataType:"json",
- data:{
- 'TableName': tableName,
- 'Key': keyword,
- 'Page': page,
- 'PageSize': pageSize,
- 'OnlyReturnNum':onlyReturnNum
- },
- async:true,
- success:function(json){
- console.log(json);
- displayResult(tableName,page,json,onlyReturnNum,keyword);
- },
- error:function(response) {
- console.log(response);
- }
- });
- }
-
- function displayResult(tableName,page,jsonResult,onlyReturnNum,keyword){
- if(tableName == "repository") {
- displayRepoResult(page,jsonResult,onlyReturnNum,keyword);
- } else if (tableName == "issue") {
-
- } else if (tableName == "user") {
-
- } else if (tableName == "org") {
-
- } else if (tableName == "dataset") {
-
- } else if (tableName == "pr") {
-
- }
- }
-
- function displayRepoResult(page,jsonResult,onlyReturnNum,keyword){
- var data = jsonResult.Result;
- var total = jsonResult.Total;
- $('#repo_total').text(total);
- $('#keyword_desc').text(keyword);
- $('#obj_desc').text("项目");
- $('#child_total').text(total);
-
- if(!onlyReturnNum){
- var html = "";
- var currentTime = new Date().getTime();
- for(var i = 0; i < data.length;i++){
- var recordMap = data[i];
- html += "<div class=\"item\">";
- if(!isEmpty(recordMap['avatar'])){
- html += "<img class=\"ui avatar image\" src=\"" + recordMap['avatar'] + "\">";
- }
- html += " <div class=\"content\">";
- html += " <div class=\"ui header\">";
- html += " <a class=\"name\" href=\"/" + record["owner_name"] + "/" + record["name"] +"\"> <span class=\"highlight\">" + record["owner_name"] +"</span> <span>/</span> <strong>" + record["name"] + "</strong></a>";
- 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>";
- html +=" </div>";
- html += " <div class=\"description\">";
- html += " <p class=\"has-emoji\"> " + record["description"] + "</p>";
- html += " <div class=\"ui tags\">";
- if(!isEmpty(record["topics"])){
- for(var j = 0; j < record["topics"].length;j++){
- html +=" <a href=\"/explore/repos?q=" + record["topics"][j] + "&topic=\"><div class=\"ui small label topic\">"+ record["topics"][j] + "</div></a>";
- }
- }
- html +=" </div>";
- html +=" <p class=\"time\">";
- html +=" <i class=\"ri-star-line\"></i>" + record["NumStars"] + "<i class=\"ri-git-branch-line am-ml-10\"></i>" + record["NumForks"];
- html +=" 最后更新于 <span class=\"time-since poping up\" title=\"\" data-content=\"\" data-variation=\"inverted tiny\">" + getTime(record["updated_unix"],currentTime) +"</span>";
- html +=" <span class=\"text grey am-ml-10\"><i class=\"color-icon\" style=\"background-color: #3572A5\"></i>" + record["lang"] + "</span>";
- html +=" </p>";
- html +=" </div>";
- html +=" </div>";
- html +="</div>";
- }
- }
- }
-
- function getTime(UpdatedUnix,currentTime){
- UpdatedUnix = UpdatedUnix;
- currentTime = currentTime / 1000;
- var timeEscSecond = currentTime - UpdatedUnix;
- if( timeEscSecond < 0){
- timeEscSecond = 1;
- }
- console.log("currentTime=" + currentTime + " updateUnix=" + UpdatedUnix);
-
- var hours= Math.floor(timeEscSecond / 3600);
- //计算相差分钟数
- var leave2 = Math.floor(timeEscSecond % (3600)); //计算小时数后剩余的秒数
- var minutes= Math.floor(leave2 / 60);//计算相差分钟数
-
- var leave3=Math.floor(leave2 % 60); //计算分钟数后剩余的秒数
- var seconds= leave3;
-
- if(hours == 0 && minutes == 0){
- return seconds + getRepoOrOrg(6,isZh);
- }else{
- if(hours > 0){
- if(hours >= 24){
- return Math.ceil(hours/24) + getRepoOrOrg(7,isZh);
- }else{
- return hours + getRepoOrOrg(4,isZh);
- }
- }else{
- return minutes + getRepoOrOrg(5,isZh);
- }
- }
- }
-
- function getRepoOrOrg(key,isZhLang){
- if(isZhLang){
- return repoAndOrgZH[key];
- }else{
- return repoAndOrgEN[key];
- }
- }
-
- var repoAndOrgZH={
- "1":"项目",
- "2":"成员",
- "3":"团队",
- "4":"小时前",
- "5":"分钟前",
- "6":"秒前",
- "7":"天前"
- };
-
- var repoAndOrgEN={
- "1":"repository",
- "2":"Members ",
- "3":"Teams",
- "4":" hours ago",
- "5":" minutes ago",
- "6":" seconds ago",
- "7":" days ago"
- };
|