Example #1
0
 DOM.addEventListener("click", function(e) {
   var el = e.target;
   var isHagridComponent = u(el).attr('hagrid-role');
   u('.open').each(function(el){
     u(el).removeClass('open')
   });
   if(isHagridComponent){
     if(e.target.tagName.toLowerCase() === 'a') e.preventDefault();
     _getComponent(el);        
   }
 });
Example #2
0
 /**
  * Hagrid parent root component
  * @param  {Object} el html element
  * @return {Object}    Parent element
  */
 function _parentComponent(el){
   var parent = el;
   var i = 0;
   var hasAttr = u(el).attr('hagrid-component');
   while (!hasAttr && i < 20){
     var o = parent || {};
     parent = o.parentNode;
     hasAttr = u(parent).attr('hagrid-component');
     i++;
   }
   return parent;
 }
Example #3
0
 function getConfCompoment(el){
   var hasAttr = u(el).attr('hagrid-role');
   if(hasAttr){
     var hagridComponent = components[hasAttr];
     if(hagridComponent){
       return hagridComponent.component.set(el);
     }
   }
   return {};
 }
Example #4
0
  /**
   * Get hagrid component
   * @param  {String} el Element string
   * @return {fn}    component function
   */
  function _getComponent(el){
    var getConf = getConfCompoment(el);
    var hagridTarget = u(el).attr('hagrid-target') || getConf.hagridTarget || u(el).attr('href'),
        parentTarget = (!!hagridTarget && hagridTarget !== '#') ? null : _parentComponent(el),
        hagridRole = getConf.hagridRole || u(el).attr('hagrid-role') || 'open',
        elTarget = (!!hagridTarget && hagridTarget !== '#') ? u(hagridTarget).first() :parentTarget,
        firstElement = elTarget,
        parentComponent =  _parentComponent(firstElement),
        componentType = u(firstElement).attr('hagrid-component') || u(parentComponent).attr('hagrid-component'),
        component = components[componentType][hagridRole];

    var _self = el;
    var _target = firstElement;

    component(_target, _self, parentComponent);
  }
Example #5
0
 u('.open').each(function(el){
   u(el).removeClass('open')
 });
Example #6
0
 close: function($target, $seft){
   u($parentComponent).removeClass('open');
 },
Example #7
0
 toggle: function($target, $seft, $parentComponent){
   u($parentComponent).toggleClass('navbar-open');
 },
Example #8
0
 open: function($target, $seft, $parentComponent){
   u($parentComponent).addClass('open');
 },
Example #9
0
 close: function(el){
   u(el).removeClass('alert-show');
 },
Example #10
0
 close: function($target, $seft){
   u($seft).removeClass('tab-show');
   u($target).removeClass('tab-show');
 },
Example #11
0
 open: function($target, $seft, $parentComponent){
   var $childrenTabShow = u($parentComponent).find('.tab-show');
   $childrenTabShow.removeClass('tab-show');
   u($seft).addClass('tab-show');
   u($target).addClass('tab-show');
 },
Example #12
0
 close: function(el){
   u(el).removeClass('tooltip-show');
 },
Example #13
0
 open: function(el){
   u(el).addClass('tooltip-show');
 },
Example #14
0
 close: function(el){
   u(el).removeClass('modal-show');
 },
Example #15
0
 open: function(el){
   u(el).addClass('modal-show');
 },
Example #16
0
 set: function(el){
   return {
     hagridTarget: u(el).siblings('.navbar-menu').first(),
     hagridRole: 'toggle',
   }
 },
Example #17
0
 open: function(el){
   u(el).addClass('alert-show');
 },