Sha256: d0b810f0f2346215392acaaca32de0690b94d2ea4063c51c2d80a7d598d8b65e

Contents?: true

Size: 1.37 KB

Versions: 6

Compression:

Stored size: 1.37 KB

Contents

(function(window,jQuery) {
  
  var $ = jQuery;
  
  window.snippets = function() {
    
    var snippets = {names:[],snippets:{}};
    
    var snippetComments = $("*:not(iframe)").contents().filter(function() {
      try {
        return this.nodeType === 8 && this.data.match(/snippet data-type=\"start\"/);
      } catch (e) {
        // Yay for not being allow to look at dom elements with external content, aka iframes
        return false;
      }
    });
    
    snippetComments.map(function() {
      
      var name = this.data.match(/data-name=\"(.*?)\"/)[1];
      var pageId = this.data.match(/data-page-id=\"(.*?)\"/)[1];
      
      snippets.names.push(name);
      
      snippets.snippets[name] = {
        pageId:pageId,
        comment:this,
        elements:function() {
          
          var snippetElements = [];
          var element = this.comment;
          while(element.nextSibling) {
            element = element.nextSibling;
            if(element.nodeType === 8 && element.data.match(/snippet data-type=\"end\"/)) {
              break;
            }
            snippetElements.push(element);
          }
          
          return $(snippetElements);
        },
        update:function(newElements) {
          this.elements().remove();
          $(newElements).insertAfter(this.comment);
        }
      };
    });
    
    return snippets;
  };
  
}(window,jQuery));

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
burp_cms-1.3.33 app/assets/javascripts/burp/cms_helper.js
burp_cms-1.3.32 app/assets/javascripts/burp/cms_helper.js
burp_cms-1.3.31 app/assets/javascripts/burp/cms_helper.js
burp_cms-1.3.30 app/assets/javascripts/burp/cms_helper.js
burp_cms-1.3.29 app/assets/javascripts/burp/cms_helper.js
burp_cms-1.3.28 app/assets/javascripts/burp/cms_helper.js