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/01/16 11:28:20 UTC
svn commit: r1231899 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva:
repositories.js templates/repositories.html utils.js
Author: olamy
Date: Mon Jan 16 10:28:19 2012
New Revision: 1231899
URL: http://svn.apache.org/viewvc?rev=1231899&view=rev
Log:
[MRM-1574] managed repository update.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js?rev=1231899&r1=1231898&r2=1231899&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js Mon Jan 16 10:28:19 2012
@@ -67,17 +67,65 @@ $(function() {
this.stageRepoNeeded=ko.observable(stageRepoNeeded);
}
+ ManagedRepositoryViewModel=function(managedRepository, update){
+ this.managedRepository=ko.observable(managedRepository);
+ this.update = update;
+
+ save=function(){
+ $.log("save:"+this.managedRepository().name());
+ clearUserMessages();
+ $.ajax("restServices/archivaServices/managedRepositoriesService/updateManagedRepository",
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: "{\"managedRepository\": " + ko.toJSON(this.managedRepository)+"}",
+ dataType: 'json',
+ success: function(data) {
+ displaySuccessMessage($.i18n.prop('managedrepository.updated'));
+ },
+ error: function(data) {
+ displayErrorMessage(data);
+ }
+ }
+ );
+
+ }
+
+ displayGrid=function(){
+ activateManagedRepositoriesGridTab();
+ }
+
+ }
+
ManagedRepositoriesViewModel=function(){
this.managedRepositories=ko.observableArray(new Array());
this.gridViewModel = null;
editManagedRepository=function(managedRepository){
- $.log(managedRepository.name());
+ var viewModel = new ManagedRepositoryViewModel(managedRepository,true);
+ ko.applyBindings(viewModel,$("#main-content #managed-repository-edit").get(0));
+ activateManagedRepositoryEditTab();
+ $("#managed-repository-edit-li a").html($.i18n.prop('edit'));
}
}
+ activateManagedRepositoriesGridTab=function(){
+ $("#main-content #managed-repository-edit-li").removeClass("active");
+ $("#main-content #managed-repository-edit").removeClass("active");
+ // activate roles grid tab
+ $("#main-content #managed-repositories-view-li").addClass("active");
+ $("#main-content #managed-repositories-view").addClass("active");
+ }
+
+ activateManagedRepositoryEditTab=function(){
+ $("#main-content #managed-repositories-view-li").removeClass("active");
+ $("#main-content #managed-repositories-view").removeClass("active");
+ // activate role edit tab
+ $("#main-content #managed-repository-edit-li").addClass("active");
+ $("#main-content #managed-repository-edit").addClass("active");
+ }
displayRepositoriesGrid=function(){
clearUserMessages();
@@ -111,6 +159,7 @@ $(function() {
{
headerText: $.i18n.prop('type'),
rowText: "layout",
+ // FIXME i18n
title: "Repository type (default is Maven 2)"
}
],
@@ -121,6 +170,7 @@ $(function() {
$("#managed-repositories-view").addClass("active");
removeMediumSpinnerImg("#main-content #managed-repositories-content");
$("#main-content #managed-repositories-table [title]").twipsy();
+ activateManagedRepositoriesGridTab();
}
}
);
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html?rev=1231899&r1=1231898&r2=1231899&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html Mon Jan 16 10:28:19 2012
@@ -46,7 +46,9 @@
</table>
<div id="managed-repositoriesPagination"></div>
</div>
- <div id="managed-repository-edit">edit</div>
+ <div id="managed-repository-edit" data-bind='template: {name:"managed-repository-edit-tmpl"}'>
+
+ </div>
</div>
</div>
@@ -95,4 +97,97 @@
{{/each}}
</tbody>
+</script>
+
+<script id="managed-repository-edit-tmpl" type='text/x-jquery-tmpl'>
+ <form id="managed-repository-edit-form">
+ <fieldset id="managed-repository-edit-fieldset">
+ <div class="clearfix">
+ <label for="name">${$.i18n.prop('id')}</label>
+ <div class="input">
+ {{if update}}
+ <span class="uneditable-input">${$data.managedRepository().id}</span>
+ {{else}}
+ <input type="text" class="xlarge" id="id" name="id" size="50" class="required"
+ data-bind="value: managedRepository().id,css:{'uneditable-input': update},readonly:update"/>
+ {{/if}}
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="name">${$.i18n.prop('name')}</label>
+ <div class="input">
+ <input type="text" class="xlarge" id="name" name="name" size="50" class="required"
+ data-bind="value: managedRepository().name"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="location">${$.i18n.prop('directory')}</label>
+ <div class="input">
+ <input type="text" class="xlarge" id="location" name="location" size="50" class="required" data-bind="value: managedRepository().location"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="indexDirectory">${$.i18n.prop('index.directory')}</label>
+ <div class="input">
+ <input type="text" class="xlarge" id="indexDirectory" name="indexDirectory" size="50" data-bind="value: managedRepository().indexDirectory"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="cronExpression">${$.i18n.prop('cronExpression')}</label>
+ <div class="input">
+ <input type="text" id="cronExpression" name="daysOlder" size="40" data-bind="value: managedRepository().cronExpression"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="daysOlder">${$.i18n.prop('daysOlder')}</label>
+ <div class="input">
+ <input type="text" id="daysOlder" name="daysOlder" size="5" data-bind="value: managedRepository().daysOlder"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="retentionCount">${$.i18n.prop('retentionCount')}</label>
+ <div class="input">
+ <input type="text" id="retentionCount" name="retentionCount" size="5" data-bind="value: managedRepository().retentionCount"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="releases">${$.i18n.prop('releases')}</label>
+ <div class="input">
+ <input type="checkbox" id="releases" name="releases" size="5" data-bind="checked: managedRepository().releases"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="snapshots">${$.i18n.prop('snapshots')}</label>
+ <div class="input">
+ <input type="checkbox" id="snapshots" name="snapshots" size="5" data-bind="checked: managedRepository().snapshots"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="blockRedeployments">${$.i18n.prop('blockRedeployments')}</label>
+ <div class="input">
+ <input type="checkbox" id="blockRedeployments" name="blockRedeployments" size="5" data-bind="checked: managedRepository().blockRedeployments"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="scanned">${$.i18n.prop('scanned')}</label>
+ <div class="input">
+ <input type="checkbox" id="scanned" name="scanned" size="5" data-bind="checked: managedRepository().scanned"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="deleteReleasedSnapshots">${$.i18n.prop('deleteReleasedSnapshots')}</label>
+ <div class="input">
+ <input type="checkbox" id="deleteReleasedSnapshots" name="deleteReleasedSnapshots" size="5" data-bind="checked: managedRepository().deleteReleasedSnapshots"/>
+ </div>
+ </div>
+ <div class="clearfix">
+ <label for="stageRepoNeeded">${$.i18n.prop('stageRepoNeeded')}</label>
+ <div class="input">
+ <input type="checkbox" id="stageRepoNeeded" name="stageRepoNeeded" size="5" data-bind="checked: managedRepository().stageRepoNeeded"/>
+ </div>
+ </div>
+ </fieldset>
+ <button data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
+ <button data-bind="click: displayGrid" class="btn">${$.i18n.prop('cancel')}</button>
+ </form>
</script>
\ No newline at end of file
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js?rev=1231899&r1=1231898&r2=1231899&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js Mon Jan 16 10:28:19 2012
@@ -217,4 +217,16 @@ $.extend($.tmpl.tag, {
"var": {
open: "var $1;"
}
-});
\ No newline at end of file
+});
+
+displayRestError=function(data,idToAppend){
+ if (data.archivaRestError){
+ if (data.archivaRestError.errorKey){
+ displayErrorMessage($.i18n.prop( data.archivaRestError.errorKey ),idToAppend);
+ } else {
+ displayErrorMessage(data.archivaRestError.errorMessage,idToAppend);
+ }
+ } else {
+ // redback ??
+ }
+}
\ No newline at end of file