You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/03/26 11:55:52 UTC

svn commit: r1305283 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva: search.js templates/search.html

Author: olamy
Date: Mon Mar 26 09:55:52 2012
New Revision: 1305283

URL: http://svn.apache.org/viewvc?rev=1305283&view=rev
Log:
artifact metadata property add/delete implemented

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/archiva/templates/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=1305283&r1=1305282&r2=1305283&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 Mon Mar 26 09:55:52 2012
@@ -261,7 +261,10 @@ $(function() {
                       type: "GET",
                       dataType: 'json',
                       success: function(data) {
-                        self.entries([new MetadataEntry("foo","bar")]);
+                        var entries= $.map(data,function(e,i){
+                          return new MetadataEntry( e.key, e.value,false);
+                        });
+                        self.entries(entries);
                       }
                     });
                   //}
@@ -298,48 +301,49 @@ $(function() {
     }
 
     deleteProperty=function(entry){
+      var metadatasUrl="restServices/archivaServices/browseService/metadata/"+encodeURIComponent(groupId);
+      metadatasUrl+="/"+encodeURIComponent(artifactId);
+      metadatasUrl+="/"+encodeURIComponent(version);
+      metadatasUrl+="/"+encodeURIComponent(entry.key());
+      var selectedRepo=getSelectedBrowsingRepository();
+      if (selectedRepo){
+        metadatasUrl+="?repositoryId="+encodeURIComponent(selectedRepo);
+      }
+      $.ajax(metadatasUrl, {
+        type: "DELETE",
+        dataType: 'json',
+        success: function(data) {
+          displaySuccessMessage( $.i18n.prop("artifact.metadata.deleted"));
+          self.entries.remove(entry);
+        }
+      });
 
-      self.entries.remove(entry);
     }
 
     saveProperty=function(entry){
-      var metadatasContentDiv=mainContent.find("#artifact-details-metadatas-content" );
-      //if( $.trim(metadatasContentDiv.html()).length<1){
-        //metadatasContentDiv.html(mediumSpinnerImg());
-        var metadatasUrl="restServices/archivaServices/browseService/metadatas/"+encodeURIComponent(groupId);
-        metadatasUrl+="/"+encodeURIComponent(artifactId);
-        metadatasUrl+="/"+encodeURIComponent(version);
-        metadatasUrl+="/"+encodeURIComponent(entry.key());
-        metadatasUrl+="/"+encodeURIComponent(entry.value());
-        var selectedRepo=getSelectedBrowsingRepository();
-        if (selectedRepo){
-          metadatasUrl+="?repositoryId="+encodeURIComponent(selectedRepo);
+      var metadatasUrl="restServices/archivaServices/browseService/metadata/"+encodeURIComponent(groupId);
+      metadatasUrl+="/"+encodeURIComponent(artifactId);
+      metadatasUrl+="/"+encodeURIComponent(version);
+      metadatasUrl+="/"+encodeURIComponent(entry.key());
+      metadatasUrl+="/"+encodeURIComponent(entry.value());
+      var selectedRepo=getSelectedBrowsingRepository();
+      if (selectedRepo){
+        metadatasUrl+="?repositoryId="+encodeURIComponent(selectedRepo);
+      }
+      $.ajax(metadatasUrl, {
+        type: "PUT",
+        dataType: 'json',
+        success: function(data) {
+          displaySuccessMessage( $.i18n.prop("artifact.metadata.added"));
+          entry.editable(false);
+          entry.modified(false);
         }
-        $.ajax(metadatasUrl, {
-          type: "PUT",
-          dataType: 'json',
-          success: function(data) {
-            displaySuccessMessage( $.i18n.prop("artifact.metadata.added"));
-            entry.modified(false);
-          }
-        });
+      });
     }
 
 
     this.gridMetatadasViewModel = new ko.simpleGrid.viewModel({
       data: self.entries,
-      columns: [
-        {
-          headerText: $.i18n.prop('browse.artifact.metadata.key'),
-          rowText: "key",
-          id: "key"
-        },
-        {
-          headerText: $.i18n.prop('browse.artifact.metadata.value'),
-          rowText: "value",
-          id: "value"
-        }
-      ],
       pageSize: 10
     });
 

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html?rev=1305283&r1=1305282&r2=1305283&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html Mon Mar 26 09:55:52 2012
@@ -745,24 +745,22 @@
 <script id="artifact_metadata_properties_tmpl" type="text/html">
     <thead>
       <tr>
-        {{each(i, columnDefinition) columns}}
-          <th title="${columnDefinition.title }">${columnDefinition.headerText }</th>
-        {{/each}}
+        <th title="${$.i18n.prop('browse.artifact.metadatas.key')}">${$.i18n.prop('browse.artifact.metadatas.key')}</th>
+        <th title="${$.i18n.prop('browse.artifact.metadatas.value')}">${$.i18n.prop('browse.artifact.metadatas.value')}</th>
         <th title="${$.i18n.prop('browse.artifact.metadatas.delete')}">${$.i18n.prop('browse.artifact.metadatas.delete')}</th>
-        <th title="${$.i18n.prop('browse.artifact.metadatas.delete')}">${$.i18n.prop('browse.artifact.metadatas.save')}</th>
+        <th title="${$.i18n.prop('browse.artifact.metadatas.save')}">${$.i18n.prop('browse.artifact.metadatas.save')}</th>
       </tr>
 
     </thead>
     <tbody>
     {{each(i, row) itemsOnCurrentPage()}}
       <tr>
-        {{each(j, columnDefinition) columns}}
-          {{if row.editable}}
-            <td><input type="text" data-bind="value: row[columnDefinition.rowText]"/></td>
-          {{else}}
-            <td>${ typeof columnDefinition.rowText == 'function' ? columnDefinition.rowText(row) : row[columnDefinition.rowText] }</td>
-          {{/if}}
-        {{/each}}
+        {{if row.editable}}
+          <td><input type="text" data-bind="value: row.key"/></td>
+        {{else}}
+          <td>${row.key}</td>
+        {{/if}}
+        <td><input type="text" data-bind="value: row.value"/></td>
         <td><a href="#" class="btn btn-danger" data-bind="click: function(){deleteProperty(row)}">${$.i18n.prop('browse.artifact.metadatas.delete')}</a></td>
         <td>
           {{if row.modified}}