Habe "group.js" mal so modifiziert, dass ich einen zusätzlichen Parameter "pagejumptarget" angeben kann. Ist dieser gesetzt, so wird bei einem Click auf die angegebene Seite gesprungen:
Code:
*** group.js.org 2012-10-11 15:36:46.000000000 +0200
--- group.js 2012-10-11 16:27:13.000000000 +0200
***************
*** 35,43 ****
--- 35,57 ----
container.append( create_pages( childs[i], path + '_' + i, flavour ) );
} );
if( flavour ) ret_val.addClass( 'flavour_' + flavour );
+
+ if ( $e.attr('pagejumptarget') ) {
+ var target = $e.attr('pagejumptarget') ? $e.attr('pagejumptarget') : '0';
+ ret_val.addClass('clickable');
+ ret_val.data( {
+ 'type' : 'pagejump',
+ 'target' : target
+ } ).bind( 'click', this.action ).setWidgetStyling(target);
+ }
+
ret_val.append( container );
return ret_val;
},
+ action: function () {
+ var data = $(this).data();
+ if (data.target != 0) scrollToPage( data.target );
+ },
attributes: {
align: { type: 'string' , required: false },
flavour: { type: 'string' , required: false },
***************
*** 45,50 ****
--- 59,65 ----
rowspan: { type: 'numeric', required: false },
nowidget: { type: 'string' , required: false },
name: { type: 'string' , required: true },
+ pagejumptarget: { type: 'string' , required: false }
},
elements: {},
content: true
In der XML definiere ich das dann einfach wie folgt:
Code:
<group pagejumptarget="Temperaturen">
<text>Group PageJump</text>
<toggle mapping="On_Off" styling="Red_Green">
<label>Toggle</label>
<address transform="DPT:1.001" mode="read" variant="">1/3/30</address>
</toggle>
</group>
Hintergedanke wäre z.B. die aktuelle Temperatur anzuzeigen und bei ein Klick auf die Details zu springen. Das in einem Group zu verankern erlaubt eine globale Lösung.
Ich denke, das ist eine durchaus nützliche Erweiterung, die noch mehr Designs ermöglicht.
Ich würde mich freuen, wenn einer der jQuery Gurus da nochmal rüber schaut und das dann zum SVN hinzu fügt.
Danke Euch!


Einen Kommentar schreiben: