wip: global UI refactoring

Code cleanup.

see #204
This commit is contained in:
Antoine Nguyen
2012-04-20 12:13:59 +02:00
parent 1e36158841
commit 260dbf9b58
5 changed files with 55 additions and 242 deletions
-79
View File
@@ -1,79 +0,0 @@
(function($) {
var objtable = null;
function new_clickcb(evt) {
var type = $("objects").get("name");
var sizes = $("objects").get("rel").split(" ");
evt.stop();
SqueezeBox.open(this.rooturl + type + "/new/", {
size: {x: parseInt(sizes[0]), y: parseInt(sizes[1])},
handler: 'iframe'
});
};
function remove_clickcb(evt) {
evt.stop();
if (this.objtable._selectedRows.length == 0) {
return;
}
var type = $("objects").get("name");
var selection = "";
this.objtable._selectedRows.each(function(item) {
var options = JSON.decode(item.get("rel"));
if (options != undefined && options.ui_disabled != undefined &&
options.ui_disabled == "True") {
return;
}
if (selection != "") {
selection += ",";
}
selection += item.get("id");
});
if (selection == "") {
return;
}
new Confirmation(
this.rooturl + type + "/delete/",
"selection=" + selection,
gettext('Remove this selection?'), {
checkboxes: this.deloptions
}
);
};
var methods = {
init: function(rooturl, deloptions) {
this.rooturl = rooturl;
if (deloptions != undefined) {
this.deloptions = deloptions;
} else {
this.deloptions = new Array();
}
if ($("subcontent") != undefined) {
SqueezeBox.assign($("subcontent").getElements('a[class=boxed]'), {
parse: 'rel'
});
}
setDivHeight("content", 20, 0);
this.objtable = new HtmlTable($("objects_table"), {
selectable: true
});
$$("a[name=new]").addEvent("click", new_clickcb);
$$("a[name=remove]").addEvent("click", remove_clickcb);
}
};
$.fn.Domains = function(method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error(gettext('Unknown method: ') + method);
}
};
})(jQuery);
-31
View File
@@ -1,31 +0,0 @@
/*
* Shared functions between the webmail and the quarantine plugin.
*
*/
function navbarcallback(event) {
event.stop();
current_anchor.reset()
.setparams(navparams)
.updateparams(this.get("href"))
.update();
}
function updatelisting(resp) {
if (resp.url != undefined) {
history.baseurl(resp.url).update();
return;
}
/*if (resp.menu != undefined) {
$("menubar").set("html", resp.menu);
parse_menubar("menubar");
}*/
if (resp.listing != undefined) {
$("#listing").html(resp.listing);
}
/*if ($defined(resp.navbar)) {
$("navbar").set("html", resp.navbar);
$$("#navbar a").addEvent("click", navbarcallback);
}*/
}
-76
View File
@@ -1,76 +0,0 @@
{% extends "nlayout.html" %}
{% load i18n %}
{% load libextras %}
{% block html_head %}
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/searchbar.css" />
<script type="text/javascript" src="{{ MEDIA_URL }}js/anchor_nav.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}js/ProgressBar.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}js/email_listing.js"></script>
{% block css %}{% endblock %}
<script type="text/javascript">
var current_anchor = new AnchorNavigation("{{ deflocation }}", {
spin_target: "page"
});
function viewmail(event) {
event.stop();
if (event.target.parentNode.id) {
var url = event.target.parentNode.id;
event.target.parentNode.setStyle("background", "#ffffcc");
{% if reset_wm_url %}
current_anchor.baseurl(url).update();
{% else %}
current_anchor.addbaseurl(url).update();
{% endif %}
}
}
function init_sortable_columns() {
$$("th[class*=sortable]").addEvent("click", function(evt) {
var tmp = "?";
var order = (navparams.has("order")) ? navparams.get("order") : "";
if (order == "") {
order = current_anchor.getparam("order");
}
if (order.substring(1) == evt.target.id) {
var sign = (order.charAt(0) == '+') ? '-' : '+';
order = sign + evt.target.id;
} else {
order = "-" + evt.target.id;
}
navparams.set("order", order);
current_anchor.setparams(navparams).update();
});
}
function update_sortable_column() {
if (!navparams.has("order")) {
return;
}
var src = navparams.get("order").charAt(0) == "-" ? "down_arrow.png" : "up_arrow.png";
var th = $$("th[id=" + navparams.get("order").substring(1) + "]");
th.getElement("img").set("src", static_url("pics/" + src));
th.getElement("img").setStyle("display", "block");
th.addClass("selected");
}
window.addEvent("domready", function() {
navparams = new Hash({
{% if navparams %}{% join navparams %}{% endif %}
});
{% block js %}{% endblock %}
current_anchor.set_default_callback({{ defcallback }});
});
</script>
{% endblock %}
{% block content %}
{% block leftcol %}{% endblock %}
<div id="listing">{{ listing }}</div>
<div class="spacer"></div>
{% endblock %}
{% block footer %}
<div id="navbar">{{ navbar }}</div>
{% endblock %}
+4 -5
View File
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://www.w3.org/2005/10/profile">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/viewmail.css" />
</head>
<body>
+51 -51
View File
@@ -1,54 +1,54 @@
<!DOCTYPE html>
{% load i18n libextras %}
<head profile="http://www.w3.org/2005/10/profile">
<meta charset="utf-8" />
<title>{% trans "Welcome to Modoboa" %}</title>
<link rel="icon" type="image/png" href="{{ MEDIA_URL }}css/logo-icon.png" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/bootstrap-responsive.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/login.css" />
<script type="text/javascript" src="{{ MEDIA_URL }}js/jquery.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}js/bootstrap.js"></script>
{% url django.views.i18n.javascript_catalog as catalog_url %}
<script type="text/javascript" src="{{ catalog_url }}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#id_username').focus();
});
</script>
</head>
<body>
<div class="container">
<div class="offset4">
<div class="row">
<div id="logo" class="span3">
<img src="{{ MEDIA_URL }}css/modoboa.png" />
<!DOCTYPE html>{% load i18n libextras %}
<html lang="en">
<head>
<meta charset="utf-8" />
<title>{% trans "Welcome to Modoboa" %}</title>
<link rel="icon" type="image/png" href="{{ MEDIA_URL }}css/logo-icon.png" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/bootstrap-responsive.css" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/login.css" />
<script type="text/javascript" src="{{ MEDIA_URL }}js/jquery.js"></script>
<script type="text/javascript" src="{{ MEDIA_URL }}js/bootstrap.js"></script>
{% url django.views.i18n.javascript_catalog as catalog_url %}
<script type="text/javascript" src="{{ catalog_url }}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#id_username').focus();
});
</script>
</head>
<body>
<div class="container">
<div class="offset4">
<div class="row">
<div id="logo" class="span3">
<img src="{{ MEDIA_URL }}css/modoboa.png" />
</div>
</div>
<div class="row">
<form method="post" action="{% url modoboa.auth.views.dologin %}"
class="well span3">
{% render_form form %}
<input type="hidden" name="next" value="{{ next }}" />
<div class="form-actions">
<label class="pull-left checkbox">
<input type="checkbox" id="id_rememberme" name="rememberme" />{% trans "Remember me" %}
</label>
<button class="btn btn-primary pull-right" type="submit">{% trans "Log in" %}</button>
</div>
</form>
</div>
<div class="row">
<div class="span4">
{% if error %}{% alert error "error" %}{% endif %}
</div>
</div>
</div>
<div class="row">
<form method="post" action="{% url modoboa.auth.views.dologin %}"
class="well span3">
{% render_form form %}
<input type="hidden" name="next" value="{{ next }}" />
<div class="form-actions">
<label class="pull-left checkbox">
<input type="checkbox" id="id_rememberme" name="rememberme" />{% trans "Remember me" %}
</label>
<button class="btn btn-primary pull-right" type="submit">{% trans "Log in" %}</button>
</div>
</form>
</div>
<div class="row">
<div class="span4">
{% if error %}{% alert error "error" %}{% endif %}
</div>
</div>
</div>
</div>
<!--
{% for annoucement in annoucements %}
<div class="roundedbox">{{ annoucement|safe }}</div>
{% endfor %}
-->
</body>
<!--
{% for annoucement in annoucements %}
<div class="roundedbox">{{ annoucement|safe }}</div>
{% endfor %}
-->
</body>
</html>