~openerp-dev/openerp-web/trunk-radio-button-tpa

« back to all changes in this revision

Viewing changes to addons/web_graph/static/lib/flotr2/js/DOM.js

  • Committer: Turkesh Patel (Open ERP)
  • Date: 2014-03-06 06:44:30 UTC
  • mfrom: (3840.1.111 openerp-web)
  • Revision ID: tpa@tinyerp.com-20140306064430-mo911iyioohr1tnb
[MRG] merge sith lp:openerp-web

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
(function () {
2
 
 
3
 
var _ = Flotr._;
4
 
 
5
 
Flotr.DOM = {
6
 
  addClass: function(element, name){
7
 
    var classList = (element.className ? element.className : '');
8
 
      if (_.include(classList.split(/\s+/g), name)) return;
9
 
    element.className = (classList ? classList + ' ' : '') + name;
10
 
  },
11
 
  /**
12
 
   * Create an element.
13
 
   */
14
 
  create: function(tag){
15
 
    return document.createElement(tag);
16
 
  },
17
 
  node: function(html) {
18
 
    var div = Flotr.DOM.create('div'), n;
19
 
    div.innerHTML = html;
20
 
    n = div.children[0];
21
 
    div.innerHTML = '';
22
 
    return n;
23
 
  },
24
 
  /**
25
 
   * Remove all children.
26
 
   */
27
 
  empty: function(element){
28
 
    element.innerHTML = '';
29
 
    /*
30
 
    if (!element) return;
31
 
    _.each(element.childNodes, function (e) {
32
 
      Flotr.DOM.empty(e);
33
 
      element.removeChild(e);
34
 
    });
35
 
    */
36
 
  },
37
 
  hide: function(element){
38
 
    Flotr.DOM.setStyles(element, {display:'none'});
39
 
  },
40
 
  /**
41
 
   * Insert a child.
42
 
   * @param {Element} element
43
 
   * @param {Element|String} Element or string to be appended.
44
 
   */
45
 
  insert: function(element, child){
46
 
    if(_.isString(child))
47
 
      element.innerHTML += child;
48
 
    else if (_.isElement(child))
49
 
      element.appendChild(child);
50
 
  },
51
 
  // @TODO find xbrowser implementation
52
 
  opacity: function(element, opacity) {
53
 
    element.style.opacity = opacity;
54
 
  },
55
 
  position: function(element, p){
56
 
    if (!element.offsetParent)
57
 
      return {left: (element.offsetLeft || 0), top: (element.offsetTop || 0)};
58
 
 
59
 
    p = this.position(element.offsetParent);
60
 
    p.left  += element.offsetLeft;
61
 
    p.top   += element.offsetTop;
62
 
    return p;
63
 
  },
64
 
  removeClass: function(element, name) {
65
 
    var classList = (element.className ? element.className : '');
66
 
    element.className = _.filter(classList.split(/\s+/g), function (c) {
67
 
      if (c != name) return true; }
68
 
    ).join(' ');
69
 
  },
70
 
  setStyles: function(element, o) {
71
 
    _.each(o, function (value, key) {
72
 
      element.style[key] = value;
73
 
    });
74
 
  },
75
 
  show: function(element){
76
 
    Flotr.DOM.setStyles(element, {display:''});
77
 
  },
78
 
  /**
79
 
   * Return element size.
80
 
   */
81
 
  size: function(element){
82
 
    return {
83
 
      height : element.offsetHeight,
84
 
      width : element.offsetWidth };
85
 
  }
86
 
};
87
 
 
88
 
})();