Commit 7f42bc1b authored by Thomas Lechauve's avatar Thomas Lechauve

new routing system implemented

parent b3ee8da5
......@@ -36,15 +36,16 @@ $.extend({
search: function (hash) {
var stop = false,
i = 0, j = 0,
i, j,
regex,
result,
extracted;
while ((stop === false) && (i < this.list.length)) {
i = this.list.length - 1;
while ((stop === false) && (i >= 0)) {
j = 0;
while ((stop === false) && (j < this.list[i].length)) {
extracted = $.router.extractKeys(this.list[i][j].route);
regex = new RegExp('^' + extracted.regex + '$');
regex = new RegExp(extracted.regex);
if (regex.test(hash.route)) {
result = regex.exec(hash.route);
stop = true;
......@@ -57,7 +58,7 @@ $.extend({
}
j += 1;
}
i += 1;
i -= 1;
}
}
},
......
......@@ -281,56 +281,56 @@
{{ message }}
</div>
</script>
</head>
<body>
<div id="loading" style="position: absolute; right: 20px; top: 20px;"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--<a href="#" class="brand">Vifib</a>-->
<img src="static/img/vifib_logo.gray.png" style="max-height: 40px" />
</div>
<div class="span10">
<ul class="nav">
<li><a href="#/dashboard">Dashboard</a></li>
<li><a href="#/about">About</a></li>
<li><a href="#/contact">Contact</a></li>
</ul>
<script id="root" type="text/html">
<div id="loading" style="position: absolute; right: 20px; top: 20px;"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--<a href="#" class="brand">Vifib</a>-->
<img src="static/img/vifib_logo.gray.png" style="max-height: 40px" />
</div>
<div class="span10">
<ul class="nav">
<li><a href="#/dashboard">Dashboard</a></li>
<li><a href="#/about">About</a></li>
<li><a href="#/contact">Contact</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span3">
<div class="well" style="padding:0">
<ul class="nav nav-list">
<li class="nav-header">Softwares</li>
<li><a href="#/catalog"><i class="icon-"></i>Browse catalog</a></li>
<li><a href="#/catalog/all"><i class="icon-"></i>Softwares availables</a></li>
<li class="nav-header">Servers</li>
<li><a href="#/computers"><i class="icon-list"></i>List all servers</a></li>
<li><a href="#/computer"><i class="icon-plus-sign"></i>Add new server</a></li>
<li class="nav-header">Services</li>
<li><a href="#/instances"><i class="icon-list"></i>List all instances</a></li>
<li><a href="#/instance"><i class="icon-plus-sign"></i>Add new instance</a></li>
<li class="nav-header">Account</li>
<li><a href="#/invoices"><i class="icon-inbox"></i>Invoices</a></li>
<li><a href="#/settings"><i class="icon-cog"></i>Settings</a></li>
</ul>
<div class="container-fluid">
<div class="row-fluid">
<div class="span3">
<div class="well" style="padding:0">
<ul class="nav nav-list">
<li class="nav-header">Softwares</li>
<li><a href="#/catalog"><i class="icon-"></i>Browse catalog</a></li>
<li><a href="#/catalog/all"><i class="icon-"></i>Softwares availables</a></li>
<li class="nav-header">Servers</li>
<li><a href="#/computers"><i class="icon-list"></i>List all servers</a></li>
<li><a href="#/computer"><i class="icon-plus-sign"></i>Add new server</a></li>
<li class="nav-header">Services</li>
<li><a href="#/instances"><i class="icon-list"></i>List all instances</a></li>
<li><a href="#/instance"><i class="icon-plus-sign"></i>Add new instance</a></li>
<li class="nav-header">Account</li>
<li><a href="#/invoices"><i class="icon-inbox"></i>Invoices</a></li>
<li><a href="#/settings"><i class="icon-cog"></i>Settings</a></li>
</ul>
</div>
</div>
<section class="span9" id="main" style="min-height: 200px">
<!--Body content-->
</section>
</div>
<section class="span9" id="main" style="min-height: 200px">
<!--Body content-->
</section>
</div>
</div>
</script>
</head>
<body>
<script type="text/javascript" src="static/js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="static/js/bootstrap-transition.js"></script>
<script type="text/javascript" src="static/js/bootstrap-alert.js"></script>
......
......@@ -59,18 +59,18 @@
methods = {
init: function () {
var routes = [];
routes[0] = [
['/catalog', methods['showCatalog']],
['/catalog/all', methods['showCatalogAll']],
['/instance', methods['requestInstance']],
['/instance/:url', methods['showInstance']],
['/instance/:url/bang', methods['showBangInstance']],
['/computers', methods['listComputers']],
['/instances', methods['listInstances']],
['/invoices', methods['listInvoices']],
['/dashboard', methods['showDashboard']]
];
var routes = [[['/', methods['showRoot']]]];
//routes[0] = [
//['/catalog', methods['showCatalog']],
//['/catalog/all', methods['showCatalogAll']],
//['/instance', methods['requestInstance']],
//['/instance/:url', methods['showInstance']],
//['/instance/:url/bang', methods['showBangInstance']],
//['/computers', methods['listComputers']],
//['/instances', methods['listInstances']],
//['/invoices', methods['listInvoices']],
//['/dashboard', methods['showDashboard']]
//];
return this.each(function () {
// Initialize slapos in this context
$(this).slapos({'host': 'http://10.8.2.34:12006/erp5/portal_vifib_rest_api_v1'});
......@@ -89,6 +89,13 @@
});
},
showRoot: function (params) {
var route = $.router.routes.current,
nextLevel = route.level + 1;
$(this).vifib('render', 'root');
$.router.routes.add('/catalog', nextLevel, methods.showCatalog, $("#main"));
},
genInstanceUrl: function (uri) {
return $.genHash(['instance', encodeURIComponent(uri)]);
},
......@@ -457,4 +464,4 @@
};
}(jQuery));
$('#main').vifib();
$('body').vifib();
......@@ -36,15 +36,16 @@ $.extend({
search: function (hash) {
var stop = false,
i = 0, j = 0,
i, j,
regex,
result,
extracted;
while ((stop === false) && (i < this.list.length)) {
i = this.list.length - 1;
while ((stop === false) && (i >= 0)) {
j = 0;
while ((stop === false) && (j < this.list[i].length)) {
extracted = $.router.extractKeys(this.list[i][j].route);
regex = new RegExp('^' + extracted.regex + '$');
regex = new RegExp(extracted.regex);
if (regex.test(hash.route)) {
result = regex.exec(hash.route);
stop = true;
......@@ -57,7 +58,7 @@ $.extend({
}
j += 1;
}
i += 1;
i -= 1;
}
}
},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment