Sha256: 2d30ed7d3e53a7d2399cdaa8643bfc1d2b95e64a993af7f27a987eed0a998006

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

export var OpenGallery = {

  init: function(node_tag, options = {}) {

    OpenGallery.options = options
    OpenGallery.tag = node_tag

    
    OpenGallery.nodes = document.querySelectorAll(`[${node_tag}]`);
    OpenGallery.addMenuEventListeners()
  },
  

  setOpenAttr: function(obj, val) {
    if( val ){
      obj.setAttribute(OpenGallery.tag, 'open')
    }else{
      obj.setAttribute(OpenGallery.tag, 'closed')
    }
  },


  onToggle: function(toggle_node) {
    if( toggle_node.getAttribute(OpenGallery.tag) == 'open' ){
    
      OpenGallery.setOpenAttr(toggle_node, false)
    
    } else {
      
      if( OpenGallery.options.reset_all ){
        OpenGallery.nodes.forEach( function(n){
          OpenGallery.setOpenAttr(n,false)
        },false);
      }
    
      OpenGallery.setOpenAttr(toggle_node, true)
    }
  },

  addMenuEventListeners: function() {
    OpenGallery.nodes.forEach( function(n){

      n.addEventListener("click",function(){
        OpenGallery.onToggle(n)
      },false);
      
    })  
  },
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
frame9-jekyll-theme-1.1.0 assets/js/openGallery.js
frame9-jekyll-theme-1.0.0 assets/js/openGallery.js