Author: gabriel.walt
Date: Wed Apr 29 06:22:11 2009
New Revision: 490
Added:
branches/electron/pages/media/pages/images/icons/move_down.gif
(contents, props changed)
branches/electron/pages/media/pages/images/icons/move_up.gif
(contents, props changed)
branches/electron/pages/media/pages/javascript/pages.js
branches/electron/pages/media/pages/javascript/pages_form.js
- copied, changed from r489,
/branches/electron/pages/media/pages/javascript/change_form.js
branches/electron/pages/media/pages/javascript/pages_list.js
- copied, changed from r489,
/branches/electron/pages/media/pages/javascript/change_list.js
Removed:
branches/electron/pages/media/pages/javascript/change_form.js
branches/electron/pages/media/pages/javascript/change_list.js
Modified:
branches/electron/pages/admin/__init__.py
branches/electron/pages/media/pages/css/pages.css
branches/electron/pages/templates/admin/pages/page/change_list.html
branches/electron/pages/templates/admin/pages/page/menu.html
Log:
Cleaned a bit the frontend
Modified: branches/electron/pages/admin/__init__.py
==============================================================================
--- branches/electron/pages/admin/__init__.py (original)
+++ branches/electron/pages/admin/__init__.py Wed Apr 29 06:22:11 2009
@@ -69,7 +69,8 @@
'javascript/jquery.js',
'javascript/jquery.rte.js',
'javascript/jquery.query.js',
- 'javascript/change_form.js',
+ 'javascript/pages.js',
+ 'javascript/pages_form.js',
)]
def __call__(self, request, url):
Modified: branches/electron/pages/media/pages/css/pages.css
==============================================================================
--- branches/electron/pages/media/pages/css/pages.css (original)
+++ branches/electron/pages/media/pages/css/pages.css Wed Apr 29 06:22:11
2009
@@ -1,50 +1,9 @@
/* specific CSS for the django page admin application */
-.change-list tr {
- padding-left:1.5em;
-}
-
-.change-list .move-target-container {
- display:none;
- float:right;
-}
-
-.change-list .table-selected .move-target-container {
- display:block;
-}
-
-.change-list .table-selected .selected .move-target-container {
- display:none;
-}
-
-.change-list tr.selected {
- background:#ffb;
-}
-
-.change-list table tr.target {
- background:#fff;
-}
-
-.change-list table td input {
- margin-top:-1px;
- margin-bottom:1px;
-}
-
-.change-list .publish-cell img {
- width: 10px;
- height: 10px;
-}
-.change-list .publish-cell .publish-select {
- margin: 2px;
- padding: 1px;
-}
-
-.change-list .publish-cell {
- padding:0 5px;
-}
-.placeholder-row textarea, .placeholder-row input {
+.placeholder-row textarea,
+.placeholder-row input {
float:left;
}
@@ -58,36 +17,11 @@
margin-left:0;
}
-.revisions-list .selected {
- font-weight:bold;
-}
-
#status-row ul li {
list-style-type:none;
}
-.expand-collapse span {
- font-family: monospace;
- font-size:16px;
- margin:2px 4px;
-}
-
-.expand-collapse .collapse {
- display: none;
-}
-
-.expand-collapse .expand {
- display: inline;
-}
-
-.expanded .collapse {
- display: inline;
-}
-
-.expanded .expand {
- display: none;
-}
/* **** */
@@ -104,6 +38,8 @@
width: 60%;
}
+/* auto-complete =========================================== */
+
.ac_results {
padding: 0px;
border: 1px solid #ccc;
@@ -111,7 +47,6 @@
overflow: hidden;
z-index: 99999;
}
-
.ac_results ul {
width: 100%;
list-style-position: outside;
@@ -119,7 +54,6 @@
padding: 0;
margin: 0;
}
-
.ac_results li {
margin: 0px;
padding: 2px 4px;
@@ -139,20 +73,38 @@
line-height: 14px;
overflow: hidden;
}
-
.ac_loading {
background: white url('../waiting.gif') right center no-repeat;
}
-
.ac_odd {
background-color: #eee;
}
-
.ac_over {
background-color: #999;
color: white;
}
+
+/* clearfix =========================================== */
+
+.clearfix:after {
+ content: ".";
+ display: block;
+ clear: both;
+ visibility: hidden;
+ line-height: 0;
+ height: 0;
+}
+.clearfix {
+ display: inline-block;
+}
+html[xmlns] .clearfix {
+ display: block;
+}
+* html .clearfix {
+ height: 1%;
+}
+
/* change-form page =========================================== */
/* Global */
@@ -184,6 +136,18 @@
font-size: 16px;
}
+/* Status */
+.module-general .status div {
+ position: relative;
+}
+.module-general .status img {
+ position: absolute;
+ top: 8px;
+ left: 8em;
+ width: 10px;
+ height: 10px;
+}
+
/* Options */
.change-form .module-options .form-row {
float: left;
@@ -274,22 +238,57 @@
}
-/* clearfix =========================================== */
+/* change-list page =========================================== */
-.clearfix:after {
- content: ".";
- display: block;
- clear: both;
- visibility: hidden;
- line-height: 0;
- height: 0;
+.change-list tr {
}
-.clearfix {
- display: inline-block;
+.change-list .move-target-container {
+ display: none;
+ float: right;
}
-html[xmlns] .clearfix {
+.change-list .table-selected .move-target-container {
display: block;
}
-* html .clearfix {
- height: 1%;
+.change-list .table-selected .selected .move-target-container {
+ display: none;
+}
+.change-list tr.selected {
+ background: #ffb;
+}
+.change-list table tr.target {
+ background: white;
+}
+.change-list table td input {
+ margin-top: -1px;
+ margin-bottom: 1px;
+}
+
+.change-list .publish-cell img {
+ width: 10px;
+ height: 10px;
+}
+.change-list .publish-cell .publish-select {
+ margin: 2px;
+ padding: 1px;
+}
+.change-list .publish-cell {
+ padding: 0 5px;
+}
+
+.expand-collapse span {
+ font-family: monospace;
+ font-size: 16px;
+ margin: 2px 4px;
+}
+.expand-collapse .collapse {
+ display: none;
+}
+.expand-collapse .expand {
+ display: inline;
+}
+.expanded .collapse {
+ display: inline;
+}
+.expanded .expand {
+ display: none;
}
Added: branches/electron/pages/media/pages/images/icons/move_down.gif
==============================================================================
Binary file. No diff available.
Added: branches/electron/pages/media/pages/images/icons/move_up.gif
==============================================================================
Binary file. No diff available.
Added: branches/electron/pages/media/pages/javascript/pages.js
==============================================================================
--- (empty file)
+++ branches/electron/pages/media/pages/javascript/pages.js Wed Apr 29
06:22:11 2009
@@ -0,0 +1,59 @@
+/* Common stuff used in pages_list.js as well as in pages_form.js */
+
+var pages = {};
+
+pages.update_published_icon = function (url, select, img) {
+ var opt = { 0: 'draft', 1: 'published', 3: 'hidden' };
+ img.attr({
+ 'src': img.attr('src').replace(/icons\/.*/, 'waiting.gif'),
+ 'alt': 'Loading'
+ });
+ $.post(url+'change-status-'+opt[select.val()]+'/', {1:1},
function(val) {
+ img.attr({
+ 'src':
img.attr('src').replace('waiting.gif', 'icons/'+opt[val]+'.gif'),
+ 'alt': opt[val]
+ });
+ });
+};
+
+pages.cookie = function(name, value, options) {
+ if (typeof value != 'undefined') { // name and value given, set cookie
+ options = options || {};
+ if (value === null) {
+ value = '';
+ options.expires = -1;
+ }
+ var expires = '';
+ if (options.expires && (typeof options.expires == 'number' ||
options.expires.toUTCString)) {
+ var date;
+ if (typeof options.expires == 'number') {
+ date = new Date();
+ date.setTime(date.getTime() + (options.expires * 24 * 60 *
60 * 1000));
+ } else {
+ date = options.expires;
+ }
+ expires = '; expires=' + date.toUTCString(); // use expires
attribute, max-age is not supported by IE
+ }
+ // CAUTION: Needed to parenthesize options.path and options.domain
+ // in the following expressions, otherwise they evaluate to
undefined
+ // in the packed version for some reason...
+ var path = options.path ? '; path=' + (options.path) : '';
+ var domain = options.domain ? '; domain=' + (options.domain) : '';
+ var secure = options.secure ? '; secure' : '';
+ document.cookie = [name, '=', encodeURIComponent(value), expires,
path, domain, secure].join('');
+ } else { // only name given, get cookie
+ var cookieValue = null;
+ if (document.cookie && document.cookie != '') {
+ var cookies = document.cookie.split(';');
+ for (var i = 0; i < cookies.length; i++) {
+ var cookie = jQuery.trim(cookies[i]);
+ // Does this cookie string begin with the name we want?
+ if (cookie.substring(0, name.length + 1) == (name + '=')) {
+ cookieValue =
decodeURIComponent(cookie.substring(name.length + 1));
+ break;
+ }
+ }
+ }
+ return cookieValue;
+ }
+};
Copied: branches/electron/pages/media/pages/javascript/pages_form.js (from
r489, /branches/electron/pages/media/pages/javascript/change_form.js)
==============================================================================
--- /branches/electron/pages/media/pages/javascript/change_form.js
(original)
+++ branches/electron/pages/media/pages/javascript/pages_form.js Wed Apr
29
06:22:11 2009
@@ -1,3 +1,5 @@
+/* Initialization of the change_form page - this script is run once
everything is ready. */
+
$(function() {
// Hide form rows containing only hidden inputs
$('.form-row').each(function() {
@@ -16,6 +18,14 @@
});
$("#id_title").keyup(function() {
slug_auto && slug.val(URLify(this.value, 64));
+ });
+
+ // Set the publication status
+ var select = $('#id_status');
+ var opt = ({ 0: 'draft', 1: 'published', 3: 'hidden' })[select.val()];
+ var img = $('<img src="/media/pages/images/icons/'+opt+'.gif"
alt="'+opt+'" />').insertAfter(select);
+ select.change(function(e) {
+ pages.update_published_icon('', select, img);
});
// Translation helper
Copied: branches/electron/pages/media/pages/javascript/pages_list.js (from
r489, /branches/electron/pages/media/pages/javascript/change_list.js)
==============================================================================
--- /branches/electron/pages/media/pages/javascript/change_list.js
(original)
+++ branches/electron/pages/media/pages/javascript/pages_list.js Wed Apr
29
06:22:11 2009
@@ -1,49 +1,7 @@
+/* Initialization of the change_list page - this script is run once
everything is ready. */
-jQuery.cookie = function(name, value, options) {
- if (typeof value != 'undefined') { // name and value given, set cookie
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' ||
options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 *
60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString(); // use expires
attribute, max-age is not supported by IE
- }
- // CAUTION: Needed to parenthesize options.path and options.domain
- // in the following expressions, otherwise they evaluate to
undefined
- // in the packed version for some reason...
- var path = options.path ? '; path=' + (options.path) : '';
- var domain = options.domain ? '; domain=' + (options.domain) : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires,
path, domain, secure].join('');
- } else { // only name given, get cookie
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
- // Does this cookie string begin with the name we want?
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue =
decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
-};
-
-var submenu_cache = new Array();
-
-$(document).ready(function() {
+$(function() {
+ var submenu_cache = [];
function save_expanded() {
var col = [];
@@ -51,18 +9,18 @@
col.push(this.id.substring(1));
});
// expire in 12 days
- $.cookie('tree_expanded', col.join(','), {"expires":12});
+ pages.cookie('tree_expanded', col.join(','), {'expires':12});
}
function remove_children(id) {
- $('.child-of-' + id).each(function() {
+ $('.child-of-'+id).each(function() {
remove_children(this.id.substring(9));
$(this).remove();
});
}
function get_children(id, list) {
- $('.child-of-' + id).each(function() {
+ $('.child-of-'+id).each(function() {
list.push(this);
get_children(this.id.substring(9), list);
return list
@@ -81,47 +39,47 @@
var target = e.target;
var jtarget = $(target);
- if(jtarget.hasClass("move")) {
- var page_id = e.target.id.split("move-link-")[1];
+ if(jtarget.hasClass('move')) {
+ var page_id = e.target.id.split('move-link-')[1];
selected_page = page_id;
- action = "move";
- $("#changelist table").removeClass("table-selected");
- $('tr').removeClass("selected").removeClass("target");
- $('#page-row-'+page_id).addClass("selected");
+ action = 'move';
+ $('#changelist table').removeClass('table-selected');
+ $('tr').removeClass('selected').removeClass('target');
+ $('#page-row-'+page_id).addClass('selected');
var children = [];
get_children(page_id, children);
for(var i=0; i < children.length; i++) {
- $(children[i]).addClass("selected");
+ $(children[i]).addClass('selected');
}
- $("#changelist table").addClass("table-selected");
+ $('#changelist table').addClass('table-selected');
return false;
}
- if(jtarget.hasClass("addlink")) {
- $("tr").removeClass("target");
- $("#changelist table").removeClass("table-selected");
- var page_id = target.id.split("add-link-")[1];
+ if(jtarget.hasClass('addlink')) {
+ $('tr').removeClass('target');
+ $('#changelist table').removeClass('table-selected');
+ var page_id = target.id.split('add-link-')[1];
selected_page = page_id;
- action = "add";
- $('tr').removeClass("selected");
- $('#page-row-'+page_id).addClass("selected");
+ action = 'add';
+ $('tr').removeClass('selected');
+ $('#page-row-'+page_id).addClass('selected');
$('.move-target-container').hide();
$('#move-target-'+page_id).show();
return false;
}
- if(jtarget.hasClass("move-target")) {
- if(jtarget.hasClass("left"))
- var position = "left";
- if(jtarget.hasClass("right"))
- var position = "right";
- if(jtarget.hasClass("first-child"))
- var position = "first-child";
- var target_id = target.parentNode.id.split("move-target-")[1];
- if(action=="move") {
+ if(jtarget.hasClass('move-target')) {
+ if(jtarget.hasClass('left'))
+ var position = 'left';
+ if(jtarget.hasClass('right'))
+ var position = 'right';
+ if(jtarget.hasClass('first-child'))
+ var position = 'first-child';
+ var target_id = target.parentNode.id.split('move-target-')[1];
+ if(action=='move') {
var msg = $('<span>Please wait...</span>');
- $($('#page-row-'+selected_page+" td")[0]).append(msg);
- $.post(selected_page+"/move-page/", {
+ $($('#page-row-'+selected_page+' td')[0]).append(msg);
+ $.post(selected_page+'/move-page/', {
position:position,
target:target_id
},
@@ -131,28 +89,28 @@
var message_target = '#page-row-'+selected_page
if(!$(message_target).length)
message_target = '#page-row-'+target_id
- $(message_target).addClass("selected");
- $($(message_target+" td")[0]).append(msg);
+ $(message_target).addClass('selected');
+ $($(message_target+' td')[0]).append(msg);
msg.fadeOut(5000);
}
);
$('.move-target-container').hide();
}
- if(action=="add") {
+ if(action=='add') {
var query = $.query.set('target',
target_id).set('position', position).toString();
window.location.href += 'add/'+query;
}
return false;
}
- if(jtarget.hasClass("expand-collapse")) {
+ if(jtarget.hasClass('expand-collapse')) {
var the_id = jtarget.attr('id').substring(1);
jtarget.toggleClass('expanded');
if(jtarget.hasClass('expanded')) {
if (submenu_cache[the_id]){
$('#page-row-'+the_id).after(submenu_cache[the_id]);
} else {
- $.get(the_id+"/sub-menu/",
+ $.get(the_id+'/sub-menu/',
function(html) {
$('#page-row-'+the_id).after(html);
submenu_cache[the_id] = html;
@@ -169,37 +127,14 @@
return true;
});
+
+ // Set the publication status
$('#changelist').change(function(e) {
- var target = e.target;
- var jtarget = $(target);
- if(jtarget.hasClass("publish-select")) {
- var p = jtarget.attr("name").split("status-")[1];
- var img = $('img', jtarget.parent())[0];
- img.src =
img.src.replace("icons/draft.gif",
"waiting.gif").replace("icons/published.gif",
"waiting.gif").replace("icons/hidden.gif", "waiting.gif");
- img.alt = "Busy";
- index = target.selectedIndex;
-
- if (index == 0)
- statusopt = "draft";
- else if (index == 1)
- statusopt = "published";
- else if (index == 2)
- statusopt = "hidden";
- // if I don't put data in the post, django doesn't get it
- $.post(p+"/change-status-"+statusopt+"/", {1:1}, function(val)
{
- img.alt = statusopt;
- switch(val) {
- case '0': img.src =
img.src.replace("waiting.gif", "icons/draft.gif"); break;
- case '1': img.src =
img.src.replace("waiting.gif", "icons/published.gif"); break;
- case '3': img.src =
img.src.replace("waiting.gif", "icons/hidden.gif"); break;
- default:
- alert(val);
- break;
- }
- });
- return true;
+ var select = $(e.target);
+ if (select.is('select.publish-select')) {
+ var url = select.attr('name').split('status-')[1]+'/';
+ var img = select.parent().find('img');
+ pages.update_published_icon(url, select, img);
}
-
- return true;
});
});
Modified:
branches/electron/pages/templates/admin/pages/page/change_list.html
==============================================================================
--- branches/electron/pages/templates/admin/pages/page/change_list.html
(original)
+++ branches/electron/pages/templates/admin/pages/page/change_list.html Wed
Apr 29 06:22:11 2009
@@ -19,7 +19,8 @@
<link rel="stylesheet" type="text/css" href="{{ PAGES_MEDIA_URL
}}css/pages.css" />
<script type="text/javascript" src="{{ PAGES_MEDIA_URL
}}javascript/jquery.js"></script>
<script type="text/javascript" src="{{ PAGES_MEDIA_URL
}}javascript/jquery.query.js"></script>
-<script type="text/javascript" src="{{ PAGES_MEDIA_URL
}}javascript/change_list.js"></script>
+<script type="text/javascript" src="{{ PAGES_MEDIA_URL
}}javascript/pages.js"></script>
+<script type="text/javascript" src="{{ PAGES_MEDIA_URL
}}javascript/pages_list.js"></script>
{% endblock %}
Modified: branches/electron/pages/templates/admin/pages/page/menu.html
==============================================================================
--- branches/electron/pages/templates/admin/pages/page/menu.html
(original)
+++ branches/electron/pages/templates/admin/pages/page/menu.html Wed Apr
29
06:22:11 2009
@@ -29,18 +29,18 @@
{% endfor %}
</td>
<td class="publish-cell">
-{% ifequal page.status page.DRAFT %}
- <img src="/media/pages/images/icons/draft.gif" alt="Draft" />
-{% else %}{% ifequal page.status page.PUBLISHED %}
- <img src="/media/pages/images/icons/published.gif" alt="Published" />
-{% else %}
- <img src="/media/pages/images/icons/hidden.gif" alt="Hidden"/>
-{% endifequal %}{% endifequal %}
+ {% ifequal page.status page.DRAFT %}
+ <img src="/media/pages/images/icons/draft.gif" alt="draft" />
+ {% else %}{% ifequal page.status page.PUBLISHED %}
+ <img src="/media/pages/images/icons/published.gif" alt="published"
/>
+ {% else %}
+ <img src="/media/pages/images/icons/hidden.gif" alt="hidden"/>
+ {% endifequal %}{% endifequal %}
<select class="publish-select" name="select-status-{{ page.id }}">
- <option {% ifequal page.status page.DRAFT %}selected="selected"{%
endifequal %}>{% trans "Draft" %}</option>
- <option {% ifequal page.status
page.PUBLISHED %}selected="selected"{% endifequal %}>{% trans "In
navigation" %}</option>
- <option {% ifequal page.status page.HIDDEN %}selected="selected"{%
endifequal %}>{% trans "Hidden" %}</option>
+ <option value="0" {% ifequal page.status
page.DRAFT %}selected="selected"{% endifequal %}>{%
trans "Draft" %}</option>
+ <option value="1" {% ifequal page.status
page.PUBLISHED %}selected="selected"{% endifequal %}>{% trans "In
navigation" %}</option>
+ <option value="3" {% ifequal page.status
page.HIDDEN %}selected="selected"{% endifequal %}>{%
trans "Hidden" %}</option>
</select>
</td>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---