DomUtils.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. define("tinymce/ui/DomUtils", [
  11. "tinymce/util/Tools",
  12. "tinymce/dom/DOMUtils"
  13. ], function(Tools, DOMUtils) {
  14. "use strict";
  15. return {
  16. id: function() {
  17. return DOMUtils.DOM.uniqueId();
  18. },
  19. createFragment: function(html) {
  20. return DOMUtils.DOM.createFragment(html);
  21. },
  22. getWindowSize: function() {
  23. return DOMUtils.DOM.getViewPort();
  24. },
  25. getSize: function(elm) {
  26. var width, height;
  27. if (elm.getBoundingClientRect) {
  28. var rect = elm.getBoundingClientRect();
  29. width = Math.max(rect.width || (rect.right - rect.left), elm.offsetWidth);
  30. height = Math.max(rect.height || (rect.bottom - rect.bottom), elm.offsetHeight);
  31. } else {
  32. width = elm.offsetWidth;
  33. height = elm.offsetHeight;
  34. }
  35. return {width: width, height: height};
  36. },
  37. getPos: function(elm, root) {
  38. return DOMUtils.DOM.getPos(elm, root);
  39. },
  40. getViewPort: function(win) {
  41. return DOMUtils.DOM.getViewPort(win);
  42. },
  43. get: function(id) {
  44. return document.getElementById(id);
  45. },
  46. addClass : function(elm, cls) {
  47. return DOMUtils.DOM.addClass(elm, cls);
  48. },
  49. removeClass : function(elm, cls) {
  50. return DOMUtils.DOM.removeClass(elm, cls);
  51. },
  52. hasClass : function(elm, cls) {
  53. return DOMUtils.DOM.hasClass(elm, cls);
  54. },
  55. toggleClass: function(elm, cls, state) {
  56. return DOMUtils.DOM.toggleClass(elm, cls, state);
  57. },
  58. css: function(elm, name, value) {
  59. return DOMUtils.DOM.setStyle(elm, name, value);
  60. },
  61. on: function(target, name, callback, scope) {
  62. return DOMUtils.DOM.bind(target, name, callback, scope);
  63. },
  64. off: function(target, name, callback) {
  65. return DOMUtils.DOM.unbind(target, name, callback);
  66. },
  67. fire: function(target, name, args) {
  68. return DOMUtils.DOM.fire(target, name, args);
  69. },
  70. innerHtml: function(elm, html) {
  71. // Workaround for <div> in <p> bug on IE 8 #6178
  72. DOMUtils.DOM.setHTML(elm, html);
  73. }
  74. };
  75. });