Sha256: 695173bb607e8664feee494432c8b229e693ca56c710ac8f3ecdc1460a15eced

Contents?: true

Size: 1.56 KB

Versions: 18

Compression:

Stored size: 1.56 KB

Contents

// String extensions
Object.extend(String.prototype, {
  upcase: function() {
    return this.toUpperCase();
  },

  downcase: function() {
    return this.toLowerCase();
  },
  
  toInteger: function() {
    return parseInt(this, 10);
  },
  
  toSlug: function(allow_periods) {
    replacement_regex = allow_periods ? /[\s:;=+]+/g : /[\s\.:;=+]+/g;
    return this.strip().downcase().replace(/[^-a-z0-9~\s\.:;+=_]/g, '').replace(replacement_regex, '-');
  }
});

// Element extensions
Element.addMethods({
  hasWord: function(element, word) {
    element = $(element);
    if (element.nodeType == Node.TEXT_NODE) {
      return element.nodeValue.include(word);
    } else {
      return $A(element.childNodes).any(function(child) { 
        return Element.hasWord(child, word); 
      });
    }
  },

  centerInViewport: function(element) {
    var header = $('header');
    var headerBottom = header.getHeight();
    var viewport = document.viewport.getScrollOffsets();
    viewport.height = document.viewport.getHeight();
    viewport.width = document.viewport.getWidth();
    viewport.bottom = viewport.top + viewport.height;
    viewport.top = Math.max(viewport.top, headerBottom);
    viewport.height = viewport.bottom - viewport.top;
    element.style.position = 'absolute';
    element.style.top = (viewport.top + (viewport.height - element.getHeight()) / 2.5) + 'px';
    element.style.left = (viewport.left + (viewport.width - element.getWidth()) / 2) + 'px';
  }
});

Popup.AbstractWindow.addMethods({
  centerWindowInView: function() {
    this.element.centerInViewport();
  }
});

Version data entries

18 entries across 17 versions & 3 rubygems

Version Path
trusty-cms-1.0.0 public/javascripts/admin/utility.js
radiant-1.1.4 public/javascripts/admin/utility.js
radiant-1.1.3 public/javascripts/admin/utility.js
radiant-1.1.2 public/javascripts/admin/utility.js
radiant-1.1.1 public/javascripts/admin/utility.js
radiant-1.1.0 public/javascripts/admin/utility.js
radiant-1.1.0.rc1 public/javascripts/admin/utility.js
radiant-1.1.0.beta public/javascripts/admin/utility.js
radiant-1.0.1 public/javascripts/admin/utility.js
radiant-1.1.0.alpha public/javascripts/admin/utility.js
radiant-1.0.0 public/javascripts/admin/utility.js
radiant-1.0.0.rc5 public/javascripts/admin/utility.js
radiant-1.0.0.rc4 testthegemgeneration/public/javascripts/admin/utility.js
radiant-1.0.0.rc4 public/javascripts/admin/utility.js
radiant-1.0.0.rc3 public/javascripts/admin/utility.js
kajam-1.0.3.rc2 public/javascripts/admin/utility.js
radiant-1.0.0.rc2 public/javascripts/admin/utility.js
radiant-1.0.0.rc1 public/javascripts/admin/utility.js