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);
}
});
//}
}
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
});
<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}}