User:Locke/common.js: Difference between revisions

Want an adless experience? Log in or Create an account.
no edit summary
No edit summary
No edit summary
Line 14: Line 14:
$(function() {
$(function() {
var tabstate = {};
var tabstate = {};
// hide the content
$('.tabtarget div').hide();
// select a tab
var tabselect = function( target, selector, selection ) {
  // set the data
  tabstate[target][selector] = selection;
  // construct the tabContent string
  var content = []
  for( var key in tabstate[target] ) {
    if( tabstate[target].hasOwnProperty( key ) ) {
      content.push( tabstate[target][key] );
    }
  }
  content = content.join( ' ' );
  // show the tabContent div
  $('#'+target+' div[data-tab-content="'+content+'"]').show();
}
// look at each tabset's target and selector
$('.tabset').each( function() {
$('.tabset').each( function() {
   var target = $(this).data( 'tabTarget' );
   var target = $(this).data( 'tabTarget' );
   var selector = $(this).data( 'tabSelector' );
   var selector = $(this).data( 'tabSelector' );
   tabstate[target] = {};
   tabstate[target] = {};
  console.log( this );
 
   console.log( $(this).data( 'tabTarget' ) );
   // look at each tab's selection
  console.log( tabstate );
   $(this).find( '.tab' ).each( function() {
   $(this).find( '.tab' ).each( function() {
     var selection = $(this).data( 'tabSelection' );
     var selection = $(this).data( 'tabSelection' );
     //TODO defaults, no-js, ajax
 
     // check default
    if( $(this).data( 'tabDefault' ) ) {
      tabselect( target, selector, selection );
    }
 
    // onclick event
     $(this).on( 'click', function() {
     $(this).on( 'click', function() {
       $('#'+target+' div').hide();
       $('#'+target+' div').hide();
       tabstate[target][selector] = selection;
       tabselect( target, selector, selection );
      console.log( target );
      console.log( tabstate );
      console.log( tabstate[target] );
      var content = []
      for( var key in tabstate[target] ) {
        if( tabstate[target].hasOwnProperty( key ) ) {
          content.push( tabstate[target][key] );
        }
      }
      content = content.join( ' ' );
      $('#'+target+' div[data-tab-content="'+content+'"]').show();
     });
     });
   });
   });