don't use accordion as size is calculated before adding content so this generate ugly scrolling

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1231593 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2012-01-14 22:32:55 +00:00
parent ad32149035
commit f38e2aada7
3 changed files with 108 additions and 12 deletions

View File

@ -20,6 +20,8 @@ $(function() {
ManagedRepository=function(id,name,layout,indexDirectory,location,snapshots,releases,blockRedeployments,cronExpression, ManagedRepository=function(id,name,layout,indexDirectory,location,snapshots,releases,blockRedeployments,cronExpression,
scanned,daysOlder,retentionCount,deleteReleasedSnapshots,stageRepoNeeded){ scanned,daysOlder,retentionCount,deleteReleasedSnapshots,stageRepoNeeded){
//private String id; //private String id;
id=ko.observable(id); id=ko.observable(id);
@ -65,7 +67,10 @@ $(function() {
stageRepoNeeded=ko.observable(stageRepoNeeded); stageRepoNeeded=ko.observable(stageRepoNeeded);
} }
RepositoriesViewModel=function(){ ManagedRepositoriesViewModel=function(){
this.managedRepositories=ko.observableArray(new Array());
this.gridViewModel = null;
} }
@ -74,16 +79,52 @@ $(function() {
clearUserMessages(); clearUserMessages();
$("#main-content").html(mediumSpinnerImg()); $("#main-content").html(mediumSpinnerImg());
$("#main-content").html($("#repositoriesMain").tmpl()); $("#main-content").html($("#repositoriesMain").tmpl());
$("#repositoriesAccordion").accordion(); $("#repositories-tabs").tabs();
$("#main-content #managed-repositories-content").append(mediumSpinnerImg());
$("#main-content #remote-repositories-content").append(mediumSpinnerImg());
var viewModel = new ManagedRepositoriesViewModel();
$.ajax("restServices/archivaServices/managedRepositoriesService/getManagedRepositories", {
type: "GET",
dataType: 'json',
success: function(data) {
var mappedManagedRepositories = mapManagedRepositories(data);
viewModel.managedRepositories=ko.observableArray(mappedManagedRepositories);
viewModel.gridViewModel = new ko.simpleGrid.viewModel({
data: viewModel.managedRepositories,
columns: [
{
headerText: $.i18n.prop('identifier'),
rowText: "id"
},
{
headerText: $.i18n.prop('name'),
rowText: "name"
}
],
pageSize: 10
});
ko.applyBindings(viewModel,$("#main-content #managed-repositories-view").get(0));
$("#main-content #managed-repositories-pills").pills();
$("#managed-repositories-view").addClass("active");
removeMediumSpinnerImg("#main-content #managed-repositories-content");
$.log("ok display managedRepositories");
}
}
);
} }
mapManagedRepositories=function(data){ mapManagedRepositories=function(data){
return data ? $.isArray(data) ? $.map(data.managedRepository, function(item) { return $.map(data.managedRepository, function(item) {
return mapManagedRepository(item); return mapManagedRepository(item);
}):new Array(mapManagedRepository(data.managedRepository)):null; });
} }
mapManagedRepository=function(data){ mapManagedRepository=function(data){
return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots,data.releases, return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots,data.releases,
data.blockRedeployments,data.cronExpression, data.blockRedeployments,data.cronExpression,
data.scanned,data.daysOlder,data.retentionCount,data.deleteReleasedSnapshots,data.stageRepoNeeded); data.scanned,data.daysOlder,data.retentionCount,data.deleteReleasedSnapshots,data.stageRepoNeeded);

View File

@ -1,12 +1,63 @@
<script id="repositoriesMain" type="text/x-jquery-tmpl"> <script id="repositoriesMain" type="text/x-jquery-tmpl">
<div id="repositoriesAccordion"> <div class="page-header">
<h3><a href="#">${$.i18n.prop('managedrepositories.grid.head')}</a></h3> <h2>${$.i18n.prop('administration.repositories')}</h2>
<div id="remote-repositories-content"> </div>
grid to view/edit managed repositories
<ul id="repositories-tabs" class="tabs">
<li class="active">
<a href="#managed-repositories-content">${$.i18n.prop('managedrepositories.grid.head')}</a>
</li>
<li>
<a href="#remote-repositories-content">${$.i18n.prop('remoterepositories.grid.head')}</a>
</li>
</ul>
<div class="tab-content">
<div id="managed-repositories-content" class="active">
<ul id="managed-repositories-pills" class="pills">
<li class="active" id="managed-repositories-view-li">
<a href="#managed-repositories-view">${$.i18n.prop('managedrepositories.grid.tab.title')}</a>
</li>
<li id="managed-repository-edit-li">
<a href="#managed-repository-edit">${$.i18n.prop('add')}</a>
</li>
</ul>
<div id="managed-repositories-tabs-content" class="pill-content">
<div id="managed-repositories-view" class="active">
<table class="bordered-table zebra-striped" id="managed-repositories-table"
data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko_managed-repositoriesGrid',pageLinksId:'managed-repositoriesPagination'">
</table>
<div id="managed-repositoriesPagination"></div>
</div>
<div id="managed-repository-edit">edit</div>
</div>
</div> </div>
<h3><a href="#">${$.i18n.prop('remoterepositories.grid.head')}</a></h3>
<div id="managed-repositories-content">
<div id="remote-repositories-content">
grid to view edit remote repositories grid to view edit remote repositories
</div> </div>
</div> </div>
</script>
<script id='ko_managed-repositoriesGrid' type='text/x-jquery-tmpl'>
<thead>
<tr>
{{each(i, columnDefinition) columns}}
<th>${ columnDefinition.headerText }</th>
{{/each}}
<th>${$.i18n.prop('edit')}</th>
</tr>
</thead>
<tbody>
{{each(i, row) itemsOnCurrentPage()}}
<tr>
{{each(j, columnDefinition) columns}}
<td>${ typeof columnDefinition.rowText == 'function' ? columnDefinition.rowText(row) : row[columnDefinition.rowText] }</td>
{{/each}}
<td><a href="#" data-bind="click: function(){ alert(row.name) }">Edit</a></td>
</tr>
{{/each}}
</tbody>
</script> </script>

View File

@ -159,7 +159,11 @@ mediumSpinnerImg=function(){
}; };
removeMediumSpinnerImg=function(){ removeMediumSpinnerImg=function(){
$("#small-spinner").remove(); $("#medium-spinner").remove();
}
removeMediumSpinnerImg=function(selector){
$(selector+" #medium-spinner").remove();
} }
closeDialogConfirm=function(){ closeDialogConfirm=function(){