Author: olamy
Date: Thu Oct 11 19:25:41 2012
New Revision: 1397245
URL: http://svn.apache.org/viewvc?rev=1397245&view=rev
Log:
[MRM-1689] Ability to delete a specific version of an an artifact from the
artifact screen.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js?rev=1397245&r1=1397244&r2=1397245&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
Thu Oct 11 19:25:41 2012
@@ -184,7 +184,7 @@ define("archiva.search",["jquery","i18n"
ArtifactDetailViewModel=function(groupId,artifactId){
var self=this;
- this.versions=[];
+ this.versions=ko.observableArray([]);
this.projectVersionMetadata=null;
this.groupId=groupId;
this.artifactId=artifactId;
@@ -201,6 +201,50 @@ define("archiva.search",["jquery","i18n"
}
}
+ deleteVersion=function(version){
+ var repoId=getSelectedBrowsingRepository();
+ if(!repoId){
+ var escapedVersion=escapeDot(version);
+ var selected = $("#main-content" ).find("#delete-"+escapedVersion );
+
selected.attr("data-content",$.i18n.prop('version.delete.missing.repoId'))
+ selected.popover({
+ html:true,
+ template: '<div class="popover"><div class="arrow"></div><div
class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
+ placement:'top',
+ trigger:'manual'});
+ selected.popover('show');
+ selected.mouseover(function(){
+ selected.popover("destroy");
+ });
+ return;
+ }
+ $.log("deleteVersion:"+version+',repoId:'+repoId);
+ clearUserMessages();
+ var artifact = new
Artifact(repoId,null,self.groupId,self.artifactId,repoId,version);
+ openDialogConfirm(function(){
+ $.ajax({
+
url:"restServices/archivaServices/repositoriesService/deleteArtifact",
+ type:"POST",
+ dataType:"json",
+ contentType: 'application/json',
+ data: ko.toJSON(artifact),
+ success:function(data){
+ self.versions.remove(version);
+ displaySuccessMessage( $.i18n.prop('artifact.deleted'));
+ },
+ error:function(data){
+ displayRestError(data,"user-messages");
+ },
+ complete:function(){
+ closeDialogConfirm();
+ }
+ });
+ }, $.i18n.prop('ok'),
+ $.i18n.prop('cancel'),
+ $.i18n.prop('artifact.delete.confirm.title'),
+ $.i18n.prop('artifact.delete.confirm.save'));
+ }
+
displayArtifactVersionDetail=function(version){
var selectedRepo=getSelectedBrowsingRepository();
var location ="#artifact";
@@ -903,7 +947,7 @@ define("archiva.search",["jquery","i18n"
type: "GET",
dataType: 'json',
success: function(data) {
-
artifactDetailViewModel.versions=mapVersionsList(data);
+ artifactDetailViewModel.versions=ko.observableArray(
mapVersionsList(data));
ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_artifact").get(0));
ko.applyBindings(artifactDetailViewModel,mainContent.find("#browse_breadcrumb").get(0));
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html?rev=1397245&r1=1397244&r2=1397245&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
Thu Oct 11 19:25:41 2012
@@ -183,7 +183,11 @@
<table class="table table-condensed">
{{each(i,version) versions}}
<tr>
- <th><a href="#" data-bind="click:
function(){displayArtifactVersionDetail(version)}">${version}</a></th>
+ {{if deleteKarma}}
+ <th><a id="delete-${version}" href="#" data-bind="click:
function(){deleteVersion(version)}"><img src="images/trash.png"/></a> <a
href="#" data-bind="click:
function(){displayArtifactVersionDetail(version)}">${version}</a></th>
+ {{else}}
+ <th><a href="#" data-bind="click:
function(){displayArtifactVersionDetail(version)}">${version}</a></th>
+ {{/if}}
</tr>
{{/each}}
</table>