|
From: <ma...@us...> - 2013-02-10 11:24:30
|
Revision: 1456
http://openautomation.svn.sourceforge.net/openautomation/?rev=1456&view=rev
Author: mayerch
Date: 2013-02-10 11:24:23 +0000 (Sun, 10 Feb 2013)
Log Message:
-----------
Implement feature request ID: 3575661 "Screensaver Mode: Back to Home or Slider through pages..."
Modified Paths:
--------------
CometVisu/trunk/visu/lib/templateengine.js
CometVisu/trunk/visu/visu_config.xsd
Modified: CometVisu/trunk/visu/lib/templateengine.js
===================================================================
--- CometVisu/trunk/visu/lib/templateengine.js 2013-02-10 10:16:04 UTC (rev 1455)
+++ CometVisu/trunk/visu/lib/templateengine.js 2013-02-10 11:24:23 UTC (rev 1456)
@@ -431,6 +431,8 @@
if ($('pages', xml).attr('min_column_width')) {
thisTemplateEngine.minColumnWidth = $('pages', xml).attr('min_column_width');
}
+ thisTemplateEngine.screensave_time = $('pages', xml).attr('screensave_time');
+ thisTemplateEngine.screensave_page = $('pages', xml).attr('screensave_page');
// design by url
if ($.getUrlVar("design")) {
@@ -803,6 +805,14 @@
delete xml; // not needed anymore - free the space
// $(window).trigger('resize');
$("#pages").triggerHandler("done");
+ if( undefined !== thisTemplateEngine.screensave_time )
+ {
+ thisTemplateEngine.screensave = setTimeout( function(){thisTemplateEngine.scrollToPage();}, thisTemplateEngine.screensave_time*1000 );
+ $(document).click( function(){
+ clearInterval( thisTemplateEngine.screensave );
+ thisTemplateEngine.screensave = setTimeout( function(){thisTemplateEngine.scrollToPage();}, thisTemplateEngine.screensave_time*1000 );
+ });
+ }
};
this.create_pages = function(page, path, flavour, type) {
@@ -821,12 +831,9 @@
};
this.scrollToPage = function(page_id, speed, skipHistory) {
- $('.activePage', '#pages').removeClass('activePage');
- $('.pageActive', '#pages').removeClass('pageActive');
- $('.pagejump.active').removeClass('active');
- $('.pagejump.active_ancestor').removeClass('active_ancestor');
- thisTemplateEngine.resetPageValues();
-
+ if( undefined === page_id )
+ page_id = this.screensave_page;
+
if (page_id.match(/^id_[0-9_]+$/) == null) {
// find Page-ID by name
$('.page h1:contains(' + page_id + ')', '#pages').each(function(i) {
@@ -835,7 +842,19 @@
}
});
}
+ // don't scroll when target is already active
+ if( thisTemplateEngine.currentPageID == page_id )
+ return;
+ thisTemplateEngine.currentPageID = page_id;
+
+ $('.activePage', '#pages').removeClass('activePage');
+ $('.pageActive', '#pages').removeClass('pageActive');
+ $('.pagejump.active').removeClass('active');
+ $('.pagejump.active_ancestor').removeClass('active_ancestor');
+ thisTemplateEngine.resetPageValues();
+
var page = $('#' + page_id);
+
thisTemplateEngine.currentPage = page;
page.addClass('pageActive activePage');// show new page
Modified: CometVisu/trunk/visu/visu_config.xsd
===================================================================
--- CometVisu/trunk/visu/visu_config.xsd 2013-02-10 10:16:04 UTC (rev 1455)
+++ CometVisu/trunk/visu/visu_config.xsd 2013-02-10 11:24:23 UTC (rev 1456)
@@ -53,6 +53,7 @@
<xsd:attribute name="type" type="xsd:string" use="optional" />
<xsd:attribute ref="flavour" use="optional" />
<xsd:attribute name="color" type="xsd:string" use="optional" />
+ <xsd:attribute ref="styling" use="optional" />
</xsd:complexType>
<!-- attributes -->
@@ -291,6 +292,18 @@
<xsd:appinfo>level:expert</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="screensave_time" type="xsd:decimal" use="optional">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">Time in seconds till the screensave_page will be jumped to.</xsd:documentation>
+ <xsd:appinfo>level:expert</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="screensave_page" type="xsd:string" use="optional">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">Page to jump to when after the screensave_time elapsed without user input.</xsd:documentation>
+ <xsd:appinfo>level:expert</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:attribute>
</xsd:complexType>
</xsd:element>
@@ -316,6 +329,7 @@
<xsd:group name="AvailablePlugins">
<xsd:choice>
+ <xsd:element name="clock" type="clock" />
<xsd:element name="colorchooser" type="colorchooser" />
<xsd:element name="diagram_popup" type="diagram_popup" />
<xsd:element name="diagram_inline" type="diagram_inline" />
@@ -759,6 +773,14 @@
<xsd:attribute ref="bind_click_to_widget" use="optional"/>
</xsd:complexType>
+ <xsd:complexType name="clock">
+ <xsd:sequence>
+ <xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="label" type="label" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="address" type="address" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
<xsd:complexType name="colorchooser">
<xsd:sequence>
<xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|