Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

- √ - <group> widget um ein pagejump erweitern....

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • netsrac
    antwortet
    Okay, manchmal lassen mir Dinge keine Ruhe :-)

    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
    Einziges kleines "Feature": Wenn in der Group ein Switch definiert ist und ich nun genau darauf klicke. Dann wird sowohl der Click als auch der Pagejump ausgeführt. Dieses kann ich aber damit umgehen, dass ich den Switch in der Group einfach auf mode="read" setze.

    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>
    Klicke ich irgendwo auf die Group wird der Pagejump ausgeführt.

    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:


  • netsrac
    hat ein Thema erstellt - √ - <group> widget um ein pagejump erweitern.....

    - √ - <group> widget um ein pagejump erweitern....

    Um weitere Ideen zu verwirklichen, überlege ich gerade, ob man dem <group> Element nicht ein "pagejump" verpassen könnte.

    Somit könnte ich Elemente in eine Group einpacken und bei einem Click auf irgendein Element dieser Gruppe sollte dann ein Pagejump ausgelösen werden.

    Da die group ja das übergeordnetes <div> zu den einzelnen Elementen ist, sollten eventuelle "click" funktionen der einzelen Elemente doch "überschieben" (bzw nie erreicht) werden, oder?!

    Klappt das von der Theorie her?! Wenn ja, dann würde ich mal an's "basteln" gehen...

    Gruß, Netsrac
Lädt...
X