|
From: <j-...@us...> - 2012-01-19 19:35:31
|
Revision: 662
http://openautomation.svn.sourceforge.net/openautomation/?rev=662&view=rev
Author: j-n-k
Date: 2012-01-19 19:35:25 +0000 (Thu, 19 Jan 2012)
Log Message:
-----------
Inital commit for rowspan
Use .addClass(rowspanClass(rowspan)) on your widget-div to add
a CSS class that sets the height to rowspan-rows. Example: image
Modified Paths:
--------------
CometVisu/trunk/visu/designs/structure_pure.js
CometVisu/trunk/visu/lib/templateengine.js
CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js
Modified: CometVisu/trunk/visu/designs/structure_pure.js
===================================================================
--- CometVisu/trunk/visu/designs/structure_pure.js 2012-01-18 19:10:46 UTC (rev 661)
+++ CometVisu/trunk/visu/designs/structure_pure.js 2012-01-19 19:35:25 UTC (rev 662)
@@ -690,6 +690,11 @@
create: function( page, path ) {
var $p = $(page);
var ret_val = $('<div class="widget clearfix image" />');
+
+ if ($p.attr("rowspan")) { // add rowspan only if not default
+ ret_val.addClass(rowspanClass($p.attr("rowspan")));
+ }
+
var labelElement = $p.find('label')[0];
ret_val.append( labelElement ? '<div class="label">' + labelElement.textContent + '</div>' : '' );
var style = '';
Modified: CometVisu/trunk/visu/lib/templateengine.js
===================================================================
--- CometVisu/trunk/visu/lib/templateengine.js 2012-01-18 19:10:46 UTC (rev 661)
+++ CometVisu/trunk/visu/lib/templateengine.js 2012-01-19 19:35:25 UTC (rev 662)
@@ -59,17 +59,17 @@
// This can be overwritten in the URL with the parameter "maturity"
var use_maturity;
if ($.getUrlVar('maturity')) {
- var url_maturity = $.getUrlVar('maturity');
- if (!isNaN(url_maturity - 0)) {
- use_maturity = url_maturity - 0; // given directly as number
- }
- else {
- use_maturity = Maturity[url_maturity]; // or as the ENUM name
- }
+ var url_maturity = $.getUrlVar('maturity');
+ if (!isNaN(url_maturity - 0)) {
+ use_maturity = url_maturity - 0; // given directly as number
+ }
+ else {
+ use_maturity = Maturity[url_maturity]; // or as the ENUM name
+ }
}
if (isNaN(use_maturity)) {
- use_maturity = Maturity.release; // default to release
+ use_maturity = Maturity.release; // default to release
}
$(document).ready(function() {
@@ -143,6 +143,35 @@
}
$( window ).bind( 'resize', handleResize );
+function rowspanClass(rowspan) {
+ var className = 'rowspan'+ rowspan;
+ if ( $('<div class="' + className + '" />').height() == 0 ) {
+ var dummyDiv = $('<div><div class="widget clearfix text" id="innerDiv" /></div>')
+ .appendTo($('body'));
+
+ // get css settings of single object
+ var paddingTop = parseFloat($('#innerDiv').css('padding-top'));
+ var paddingBottom = parseFloat($('#innerDiv').css('padding-bottom'));
+ var marginTop = parseFloat($('#innerDiv').css('margin-top'));
+ var marginBottom = parseFloat($('#innerDiv').css('margin-bottom'));
+ var borderTop = parseFloat($('#innerDiv').css('border-top-width'));
+ var borderBottom = parseFloat($('#innerDiv').css('border-bottom-width'));
+ var singleHeight = parseFloat($('#innerDiv').css('height'));
+
+ dummyDiv.remove();
+
+ // calculate total height
+ var totalHeight = (rowspan-1) * Math.round((singleHeight+
+ + marginTop + paddingTop + borderTop
+ + marginBottom + paddingBottom + borderBottom))
+ + singleHeight;
+
+ // append css style
+ $('head').append('<style>.rowspan' + rowspan + ' { height: ' + totalHeight + 'px; } </style>');
+ }
+ return className;
+}
+
function parseXML(xml) {
// erst mal den Cache für AJAX-Requests wieder aktivieren
$.ajaxSetup({cache: true});
Modified: CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js
===================================================================
--- CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js 2012-01-18 19:10:46 UTC (rev 661)
+++ CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js 2012-01-19 19:35:25 UTC (rev 662)
@@ -28,7 +28,7 @@
$.get("plugins/rsslog/rsslog.css", function(css) {
$("head").append("<style>"+css+"</style>");
- });
+});
VisuDesign_Custom.prototype.addCreator("rsslog", {
create: function( page, path ) {
@@ -41,10 +41,17 @@
var id = "rss_" + uniqid();
- var ret_val = $('<div class="widget clearfix" style="height:205px"/>');
+ var ret_val = $('<div class="widget clearfix" />');
ret_val.addClass( 'rsslog' );
- var label = '<div class="label" style="clear:both;">' + page.textContent + '</div>';
- var actor = $('<div class="actor" style="clear:left;"><div class="rsslog_inline" id="' + id + '"></div></div>');
+
+ if ($p.attr("rowspan")) { // add rowspan only if not default
+ ret_val.addClass(rowspanClass($p.attr("rowspan")));
+ }
+
+ var labelElement = $p.find('label')[0];
+ var label = labelElement ? '<div class="label">' + labelElement.textContent + '</div>' : '';
+
+ var actor = $('<div class="actor rsslogBody"><div class="rsslog_inline" id="' + id + '"></div></div>');
var rss = $("#" + id, actor);
if ($p.attr("width")) {
@@ -58,22 +65,15 @@
rss.data("id", id);
rss.data("src", $p.attr("src"));
- rss.data("label", page.textContent);
+ rss.data("label", labelElement ? labelElement.textContent : '' );
rss.data("refresh", $p.attr("refresh"));
- rss.data("limit", $p.attr("limit")) || 10;
- rss.data("header", $p.attr("header")) || true;
- rss.data("date", $p.attr("date")) || true;
rss.data("content", $p.attr("content")) || true;
- rss.data("snippet", $p.attr("snippet")) || true;
- rss.data("showerror", $p.attr("showerror")) || true;
- rss.data("ssl", $p.attr("ssl")) || false;
- rss.data("linktarget", $p.attr("linktarget")) || "_new";
- rss.data("link", $p.attr("link")) || true;
rss.data("title", $p.attr("title")) || true;
rss.data("mode", $p.attr("mode") || "last");
- rss.data("itemoffset", 0);
rss.data("timeformat", $p.attr("timeformat"));
+ rss.data("itemoffset", 0);
+
refreshRSSlog(rss, {});
return ret_val;
@@ -83,19 +83,12 @@
width: {type: "string", required: false},
height: {type: "string", required: false},
refresh: {type: "numeric", required: false},
- limit: {type: "numeric", required: false},
- header: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- date: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
content: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- snippet: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- showerror: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- ssl: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- linktarget: {type: "list", required: false, list: {"_new": "_new", "_self": "_self"}},
- link: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
title: {type: "list", required: false, list: {'true': "yes", 'false': "no"}},
- mode: {type: "list", required: false, list: {'first': 'first', 'last': 'last', 'rollover':'rollover' }}
+ mode: {type: "list", required: false, list: {'first': 'first', 'last': 'last', 'rollover':'rollover' }},
+ timeformat: {type: "string", required: false},
},
- content: {type: "string", required: true}
+ content: false
});
function refreshRSSlog(rss, data) {
@@ -105,25 +98,17 @@
var label = rss.data("label");
var refresh = rss.data("refresh");
var limit = rss.data("limit");
- //FIXME: eval really needed?? to convert string true/false to bool?
+
- jQuery(function() {
- $(rss).rssfeedlocal({
- src: src,
- limit: rss.data("limit"),
- header: eval(rss.data("header")),
- date: eval(rss.data("date")),
- content: rss.data("content"),
- snippet: eval(rss.data("snippet")),
- showerror: eval(rss.data("showerror")),
- ssl: eval(rss.data("ssl")),
- linktarget: rss.data("linktarget"),
- link: eval(rss.data("link")),
- title: eval(rss.data("title")),
- mode: rss.data("mode"),
- timeformat: rss.data("timeformat"),
- });
- });
+ $(function() {
+ $(rss).rssfeedlocal({
+ src: src,
+ content: rss.data("content"),
+ title: eval(rss.data("title")),
+ mode: rss.data("mode"),
+ timeformat: rss.data("timeformat"),
+ });
+ });
if (typeof (refresh) != "undefined" && refresh) {
// reload regularly
@@ -131,7 +116,7 @@
refreshRSSlog(rss, data)
}, refresh * 1000, rss, data);
}
- //rss.data("itemoffset") = itemoffset;
+
return false;
}
@@ -141,14 +126,9 @@
var defaults = {
src: '',
- header: false,
html: '{date}: {text}',
wrapper: 'li',
dataType: 'xml',
- limit: 10,
- linktarget: 'new',
- date: true,
- link: true,
title: true
}
var options = jQuery.extend(defaults, options);
@@ -193,7 +173,6 @@
var itemnum = items.length;
var itemoffset = 0; // correct if mode='first' or itemnum<=displayrows
-
if (itemnum>displayrows) { // no need to check mode if items are less than rows
if (o.mode=='last') {
itemoffset=itemnum-displayrows;
@@ -207,51 +186,33 @@
}
}
- var row = 'odd';
+ var row = 'rsslogodd';
var last = itemoffset+displayrows;
if (last>itemnum) {
last=itemnum;
}
for (var i=itemoffset; i<last; i++) {
var idx = i;
- if (i>=itemnum) {
- idx = idx - itemnum;
- }
+ idx = (i>=itemnum) ? (idx = idx - itemnum) : idx;
var item = items[idx];
var itemHtml=o.html;
- /*if (o.link)
- itemHtml = o.html.replace(/{title}/, '<a href="'
- + jQuery(item).find('guid').text()
- + '" target="' + o.linktarget + '">'
- + jQuery(item).find('title').text() + '</a><br />');
- else if (o.title)
- itemHtml = o.html.replace(/{title}/,
- jQuery(item).find('title').text() + '<br />');
- else
- itemHtml = o.html.replace(/{title}/, ''); */
-
+
itemHtml = itemHtml.replace(/{text}/, jQuery(item).find('description').text());
var entryDate = new Date($(item).find('pubDate').text());
- if (o.date && entryDate) {
- if (o.timeformat) {
- itemHtml = itemHtml.replace(/{date}/, entryDate.toLocaleFormat(o.timeformat) + ' ');
- } else {
- itemHtml = itemHtml.replace(/{date}/, entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString() + ' ');
- }
+ if (entryDate) {
+ itemHtml = (o.timeformat) ?
+ (itemHtml.replace(/{date}/, entryDate.toLocaleFormat(o.timeformat) + ' ')) :
+ (itemHtml.replace(/{date}/, entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString() + ' '));
} else {
itemHtml = itemHtml.replace(/{date}/, '');
}
- jQuery(c).append(jQuery('<' + o.wrapper + ' class="rssRow ' + row + '">').append(itemHtml));
+ jQuery(c).append(jQuery('<' + o.wrapper + ' class="rsslogRow ' + row + '">').append(itemHtml));
// Alternate row classes
- if (row == 'odd') {
- row = 'even';
- } else {
- row = 'odd';
- }
+ row = (row == 'rsslogodd') ? 'rsslogeven' : 'rsslogodd';
};
$('li', c).wrapAll("<ul>");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|