diff options
author | Olivier Lamy <olamy@apache.org> | 2012-09-23 23:22:27 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2012-09-23 23:22:27 +0000 |
commit | 13d77f3b0716ae22d924d9494a232e280657b347 (patch) | |
tree | d84ac775bc201d79789f3d743f21e371939d1c2d | |
parent | 7218e1c44ec7bbedfaf0885927142055ad0dcded (diff) | |
download | archiva-13d77f3b0716ae22d924d9494a232e280657b347.tar.gz archiva-13d77f3b0716ae22d924d9494a232e280657b347.zip |
feeds url at repository level when browsing
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1389168 13f79535-47bb-0310-9956-ffa450edef68
2 files changed, 124 insertions, 67 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js index b85f83758..14a26528a 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js @@ -787,18 +787,33 @@ define("archiva.search",["jquery","i18n","jquery.tmpl","choosen","knockout","kno $.log("displayBrowseGroupId:"+groupId+":"+repositoryId); userRepositoriesCall( function(data){ - var mainContent = $("#main-content"); - mainContent.html($("#browse-tmpl" ).tmpl()); - mainContent.find("#browse_result").html(mediumSpinnerImg()); - var parentBrowseViewModel=new BrowseViewModel(null,null,null,repositoryId); - var url="restServices/archivaServices/browseService/browseGroupId/"+encodeURIComponent(groupId); - if (repositoryId){ - url+="?repositoryId="+repositoryId; - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:repositoryId})); - }else{ - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:""})); - } - displayGroupDetail(groupId,parentBrowseViewModel,url,repositoryId); + + $.ajax({ + url: "restServices/archivaServices/archivaAdministrationService/applicationUrl", + type: "GET", + dataType: 'text', + success: function(applicationUrl){ + + var mainContent = $("#main-content"); + mainContent.html($("#browse-tmpl" ).tmpl()); + mainContent.find("#browse_result").html(mediumSpinnerImg()); + var parentBrowseViewModel=new BrowseViewModel(null,null,null,repositoryId); + var url="restServices/archivaServices/browseService/browseGroupId/"+encodeURIComponent(groupId); + if (repositoryId){ + url+="?repositoryId="+repositoryId; + // we are browsing a groupId so 2 substringBeforeLast + var feedsUrl=applicationUrl?applicationUrl:window.location.toString().substringBeforeLast("/").substringBeforeLast("/"); + feedsUrl+="/feeds/"+repositoryId; + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ) + .tmpl({repositories:data,selected:repositoryId,feedsUrl:feedsUrl})); + }else{ + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:""})); + } + displayGroupDetail(groupId,parentBrowseViewModel,url,repositoryId); + + } + }); + } ); @@ -832,44 +847,57 @@ define("archiva.search",["jquery","i18n","jquery.tmpl","choosen","knockout","kno userRepositoriesCall( function(data){ - if(repositoryId){ - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:repositoryId})); - } else { - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:''})); - } - mainContent.find("#browse_artifact_detail" ).hide(); - mainContent.find("#browse_result").hide(); - mainContent.find("#main_browse_result_content").hide("slide", {}, 300,function(){ - mainContent.find("#browse_breadcrumb").html(smallSpinnerImg()); - mainContent.find("#browse_artifact").show(); - mainContent.find("#browse_artifact").html(mediumSpinnerImg()); - mainContent.find("#main_browse_result_content").show(); - var metadataUrl="restServices/archivaServices/browseService/projectVersionMetadata/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId); - var versionsListUrl="restServices/archivaServices/browseService/versionsList/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId); - var selectedRepo=getSelectedBrowsingRepository(); - if (selectedRepo){ - metadataUrl+="?repositoryId="+encodeURIComponent(selectedRepo); - versionsListUrl+="?repositoryId="+encodeURIComponent(selectedRepo); - } - $.ajax(metadataUrl, { - type: "GET", - dataType: 'json', - success: function(data) { - artifactDetailViewModel.projectVersionMetadata=mapProjectVersionMetadata(data); - $.ajax(versionsListUrl, { - type: "GET", - dataType: 'json', - success: function(data) { - artifactDetailViewModel.versions=mapVersionsList(data); - ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_artifact").get(0)); - ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_breadcrumb").get(0)); - } - }); - } - }); - }); + $.ajax({ + url: "restServices/archivaServices/archivaAdministrationService/applicationUrl", + type: "GET", + dataType: 'text', + success: function(applicationUrl){ + + var feedsUrl=applicationUrl?applicationUrl:window.location.toString().substringBeforeLast("/").substringBeforeLast("/"); + feedsUrl+="/feeds/"+repositoryId; + + if(repositoryId){ + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ) + .tmpl({repositories:data,selected:repositoryId,feedsUrl:feedsUrl})); + } else { + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ) + .tmpl({repositories:data,selected:'',feedsUrl:null})); + } + + mainContent.find("#browse_artifact_detail" ).hide(); + mainContent.find("#browse_result").hide(); + mainContent.find("#main_browse_result_content").hide("slide", {}, 300,function(){ + mainContent.find("#browse_breadcrumb").html(smallSpinnerImg()); + mainContent.find("#browse_artifact").show(); + mainContent.find("#browse_artifact").html(mediumSpinnerImg()); + mainContent.find("#main_browse_result_content").show(); + var metadataUrl="restServices/archivaServices/browseService/projectVersionMetadata/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId); + var versionsListUrl="restServices/archivaServices/browseService/versionsList/"+encodeURIComponent(groupId)+"/"+encodeURIComponent(artifactId); + var selectedRepo=getSelectedBrowsingRepository(); + if (selectedRepo){ + metadataUrl+="?repositoryId="+encodeURIComponent(selectedRepo); + versionsListUrl+="?repositoryId="+encodeURIComponent(selectedRepo); + } + $.ajax(metadataUrl, { + type: "GET", + dataType: 'json', + success: function(data) { + artifactDetailViewModel.projectVersionMetadata=mapProjectVersionMetadata(data); + $.ajax(versionsListUrl, { + type: "GET", + dataType: 'json', + success: function(data) { + artifactDetailViewModel.versions=mapVersionsList(data); + ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_artifact").get(0)); + ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_breadcrumb").get(0)); + } + }); + } + }); + }); + }}) }); } @@ -902,23 +930,39 @@ define("archiva.search",["jquery","i18n","jquery.tmpl","choosen","knockout","kno userRepositoriesCall( function(data) { - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:repositoryId})); - var url="restServices/archivaServices/browseService/rootGroups"; - if(repositoryId){ - url+="?repositoryId="+repositoryId; - } - $.ajax(url, { + + $.ajax({ + url: "restServices/archivaServices/archivaAdministrationService/applicationUrl", type: "GET", - dataType: 'json', - success: function(data) { - var browseResultEntries = mapBrowseResultEntries(data); - $.log("size:"+browseResultEntries.length); - var browseViewModel = new BrowseViewModel(browseResultEntries,null,null,repositoryId); - ko.applyBindings(browseViewModel,mainContent.find("#browse_breadcrumb").get(0)); - ko.applyBindings(browseViewModel,mainContent.find("#browse_result").get(0)); - enableAutocompleBrowse(); - } - }); + dataType: 'text', + success: function(applicationUrl){ + + var feedsUrl=applicationUrl?applicationUrl:window.location.toString().substringBeforeLast("/").substringBeforeLast("/"); + feedsUrl+="/feeds/"+repositoryId; + + + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ) + .tmpl({repositories:data,selected:repositoryId,feedsUrl:feedsUrl})); + var url="restServices/archivaServices/browseService/rootGroups"; + if(repositoryId){ + url+="?repositoryId="+repositoryId; + } + $.ajax(url, { + type: "GET", + dataType: 'json', + success: function(data) { + var browseResultEntries = mapBrowseResultEntries(data); + $.log("size:"+browseResultEntries.length); + var browseViewModel = new BrowseViewModel(browseResultEntries,null,null,repositoryId); + ko.applyBindings(browseViewModel,mainContent.find("#browse_breadcrumb").get(0)); + ko.applyBindings(browseViewModel,mainContent.find("#browse_result").get(0)); + enableAutocompleBrowse(); + } + }); + + }} + ) + } ) @@ -1601,9 +1645,19 @@ define("archiva.search",["jquery","i18n","jquery.tmpl","choosen","knockout","kno userRepositoriesCall( function(data) { - mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ).tmpl({repositories:data,selected:repositoryId})); - var artifactVersionDetailViewModel=new ArtifactVersionDetailViewModel(groupId,artifactId,version,repositoryId); - artifactVersionDetailViewModel.display(afterCallbackFn); + $.ajax({ + url: "restServices/archivaServices/archivaAdministrationService/applicationUrl", + type: "GET", + dataType: 'text', + success: function(applicationUrl){ + + var feedsUrl=applicationUrl?applicationUrl:window.location.toString().substringBeforeLast("/").substringBeforeLast("/"); + feedsUrl+="/feeds/"+repositoryId; + mainContent.find("#selected_repository" ).html($("#selected_repository_tmpl" ) + .tmpl({repositories:data,selected:repositoryId,feedsUrl:feedsUrl})); + var artifactVersionDetailViewModel=new ArtifactVersionDetailViewModel(groupId,artifactId,version,repositoryId); + artifactVersionDetailViewModel.display(afterCallbackFn); + }}) } ); diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html index 00658588e..1f4cf576b 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html @@ -437,6 +437,9 @@ {{/if}} {{/each}} </select> + {{if selected && feedsUrl}} + <a href="${feedsUrl}"><img src="images/atom.gif"/></a> + {{/if}} </script> <script id="browse-artifact-detail-tmpl" type="text/html"> |