|
From: <j-...@us...> - 2012-02-16 20:13:12
|
Revision: 707
http://openautomation.svn.sourceforge.net/openautomation/?rev=707&view=rev
Author: j-n-k
Date: 2012-02-16 20:13:02 +0000 (Thu, 16 Feb 2012)
Log Message:
-----------
Added support for multiple filters: separate filter-tags by commas
Added additional <span> around content in cv-plugin, tag-classes are added to this
(supports coloring of content-only)
Added separation line after each day, grays out older days (thanks netsrac)
Modified Paths:
--------------
CometVisu/trunk/visu/plugins/rsslog/rsslog.css
CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js
tools/rsslog/rsslog.php
Modified: CometVisu/trunk/visu/plugins/rsslog/rsslog.css
===================================================================
--- CometVisu/trunk/visu/plugins/rsslog/rsslog.css 2012-02-15 18:11:56 UTC (rev 706)
+++ CometVisu/trunk/visu/plugins/rsslog/rsslog.css 2012-02-16 20:13:02 UTC (rev 707)
@@ -38,4 +38,14 @@
.rsslog_ack {
text-decoration: line-through;
+}
+
+.rsslog_separator {
+ border-top-style: dotted;
+ border-color: #DDDDDD;
+}
+
+.rsslog_prevday {
+ opacity: .5;
+ filter: alpha(opacity=50);
}
\ No newline at end of file
Modified: CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js
===================================================================
--- CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js 2012-02-15 18:11:56 UTC (rev 706)
+++ CometVisu/trunk/visu/plugins/rsslog/structure_plugin.js 2012-02-16 20:13:02 UTC (rev 707)
@@ -46,6 +46,7 @@
rss.data("id", id);
rss.data("src", $p.attr("src"));
+ rss.data("filter", $p.attr("filter"));
rss.data("refresh", $p.attr("refresh"));
rss.data("content", $p.attr("content")) || true;
rss.data("datetime", $p.attr("datetime")) || true;
@@ -77,6 +78,7 @@
},
attributes: {
src: {type: "string", required: true},
+ filter: {type: "string", required: false},
width: {type: "string", required: false},
height: {type: "string", required: false},
refresh: {type: "numeric", required: false},
@@ -92,6 +94,14 @@
var rss = $(rss);
var src = rss.data("src");
+ var filter = rss.data("filter");
+ if (filter) {
+ if (src.match(/\?/)) {
+ src += '&f=' + filter;
+ } else {
+ src += '?f=' + filter;
+ }
+ }
var refresh = rss.data("refresh");
var limit = rss.data("limit");
@@ -123,7 +133,7 @@
var defaults = {
src: '',
- html: '{text}',
+ html: '<span>{text}</span>',
wrapper: 'li',
dataType: 'xml',
datetime: true
@@ -183,6 +193,10 @@
var last = itemoffset+displayrows;
last = (last>itemnum) ? itemnum : last;
+ var separatordate = new Date().strftime('%d');
+ var separatoradd = false;
+ var separatorprevday = false;
+
for (var i=itemoffset; i<last; i++) {
var idx = i;
idx = (i>=itemnum) ? (idx = idx - itemnum) : idx;
@@ -196,19 +210,29 @@
itemHtml = (o.timeformat) ?
(itemHtml.replace(/{date}/, entryDate.strftime(o.timeformat) + ' ')) :
(itemHtml.replace(/{date}/, entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString() + ' '));
+ var thisday = entryDate.strftime('%d');
+ separatoradd = ((separatordate > 0) && (separatordate != thisday));
+ separatordate = thisday;
} else {
itemHtml = itemHtml.replace(/{date}/, '');
}
var $row = $('<' + o.wrapper + ' class="rsslogRow ' + row + '">').append(itemHtml);
-
+ if (separatoradd) {
+ $row.addClass('rsslog_separator'); separatorprevday = true;
+ }
+ if (separatorprevday == true) {
+ $row.addClass(' rsslog_prevday');
+ }
+
var title = item.find('title').text();
var itemClasses = title.substring(title.search(/\[/)+1,title.search(/\]/)).replace(/\,/g, ' ');
if (itemClasses) {
- $row.addClass(itemClasses);
+ $('span', $row).addClass(itemClasses);
var id = itemClasses.match(/id=[0-9]*/)[0].split('=')[1];
$row.data('id', id);
}
+
if (o.itemack) {
$row.bind("click", function() {
var item = $(this);
Modified: tools/rsslog/rsslog.php
===================================================================
--- tools/rsslog/rsslog.php 2012-02-15 18:11:56 UTC (rev 706)
+++ tools/rsslog/rsslog.php 2012-02-16 20:13:02 UTC (rev 707)
@@ -216,9 +216,13 @@
// return a handle to all the data
function retrieve( $db, $filter, $state )
{
-// $q = "SELECT content, strftime('%s', t, 'localtime') AS t FROM Logs";
- $q = "SELECT id, title, content, tags, state, strftime('%s', t) AS t FROM Logs " .
- "WHERE tags LIKE '%" . sqlite_escape_string($filter) . "%' ";
+ $filters = explode(',', $filter); // accept filters by separated by ,
+ foreach ($filters as $i => $val) {
+ $filters[$i] = " (tags LIKE '%" . sqlite_escape_string($val) . "%') ";
+ }
+
+ $q = "SELECT id, title, content, tags, state, strftime('%s', t) AS t FROM Logs WHERE" . implode('OR', $filters);;
+
if (isset($state))
$q .= " AND state=" . $state . " ";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|