|
1 /** |
|
2 * DOMUtils.js |
|
3 * |
|
4 * Copyright, Moxiecode Systems AB |
|
5 * Released under LGPL License. |
|
6 * |
|
7 * License: http://www.tinymce.com/license |
|
8 * Contributing: http://www.tinymce.com/contributing |
|
9 */ |
|
10 |
|
11 define("tinymce/ui/DomUtils", [ |
|
12 "tinymce/util/Tools", |
|
13 "tinymce/dom/DOMUtils" |
|
14 ], function(Tools, DOMUtils) { |
|
15 "use strict"; |
|
16 |
|
17 var count = 0; |
|
18 |
|
19 return { |
|
20 id: function() { |
|
21 return 'mceu_' + (count++); |
|
22 }, |
|
23 |
|
24 createFragment: function(html) { |
|
25 return DOMUtils.DOM.createFragment(html); |
|
26 }, |
|
27 |
|
28 getWindowSize: function() { |
|
29 return DOMUtils.DOM.getViewPort(); |
|
30 }, |
|
31 |
|
32 getSize: function(elm) { |
|
33 var width, height; |
|
34 |
|
35 if (elm.getBoundingClientRect) { |
|
36 var rect = elm.getBoundingClientRect(); |
|
37 |
|
38 width = Math.max(rect.width || (rect.right - rect.left), elm.offsetWidth); |
|
39 height = Math.max(rect.height || (rect.bottom - rect.bottom), elm.offsetHeight); |
|
40 } else { |
|
41 width = elm.offsetWidth; |
|
42 height = elm.offsetHeight; |
|
43 } |
|
44 |
|
45 return {width: width, height: height}; |
|
46 }, |
|
47 |
|
48 getPos: function(elm, root) { |
|
49 return DOMUtils.DOM.getPos(elm, root); |
|
50 }, |
|
51 |
|
52 getViewPort: function(win) { |
|
53 return DOMUtils.DOM.getViewPort(win); |
|
54 }, |
|
55 |
|
56 get: function(id) { |
|
57 return document.getElementById(id); |
|
58 }, |
|
59 |
|
60 addClass: function(elm, cls) { |
|
61 return DOMUtils.DOM.addClass(elm, cls); |
|
62 }, |
|
63 |
|
64 removeClass: function(elm, cls) { |
|
65 return DOMUtils.DOM.removeClass(elm, cls); |
|
66 }, |
|
67 |
|
68 hasClass: function(elm, cls) { |
|
69 return DOMUtils.DOM.hasClass(elm, cls); |
|
70 }, |
|
71 |
|
72 toggleClass: function(elm, cls, state) { |
|
73 return DOMUtils.DOM.toggleClass(elm, cls, state); |
|
74 }, |
|
75 |
|
76 css: function(elm, name, value) { |
|
77 return DOMUtils.DOM.setStyle(elm, name, value); |
|
78 }, |
|
79 |
|
80 getRuntimeStyle: function(elm, name) { |
|
81 return DOMUtils.DOM.getStyle(elm, name, true); |
|
82 }, |
|
83 |
|
84 on: function(target, name, callback, scope) { |
|
85 return DOMUtils.DOM.bind(target, name, callback, scope); |
|
86 }, |
|
87 |
|
88 off: function(target, name, callback) { |
|
89 return DOMUtils.DOM.unbind(target, name, callback); |
|
90 }, |
|
91 |
|
92 fire: function(target, name, args) { |
|
93 return DOMUtils.DOM.fire(target, name, args); |
|
94 }, |
|
95 |
|
96 innerHtml: function(elm, html) { |
|
97 // Workaround for <div> in <p> bug on IE 8 #6178 |
|
98 DOMUtils.DOM.setHTML(elm, html); |
|
99 } |
|
100 }; |
|
101 }); |