Compat.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * Compat.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. * TinyMCE core class.
  12. *
  13. * @static
  14. * @class tinymce
  15. * @borrow-members tinymce.EditorManager
  16. * @borrow-members tinymce.util.Tools
  17. */
  18. define("tinymce/Compat", [
  19. "tinymce/dom/DOMUtils",
  20. "tinymce/dom/EventUtils",
  21. "tinymce/dom/ScriptLoader",
  22. "tinymce/AddOnManager",
  23. "tinymce/util/Tools",
  24. "tinymce/Env"
  25. ], function(DOMUtils, EventUtils, ScriptLoader, AddOnManager, Tools, Env) {
  26. var tinymce = window.tinymce;
  27. /**
  28. * @property {tinymce.dom.DOMUtils} DOM Global DOM instance.
  29. * @property {tinymce.dom.ScriptLoader} ScriptLoader Global ScriptLoader instance.
  30. * @property {tinymce.AddOnManager} PluginManager Global PluginManager instance.
  31. * @property {tinymce.AddOnManager} ThemeManager Global ThemeManager instance.
  32. */
  33. tinymce.DOM = DOMUtils.DOM;
  34. tinymce.ScriptLoader = ScriptLoader.ScriptLoader;
  35. tinymce.PluginManager = AddOnManager.PluginManager;
  36. tinymce.ThemeManager = AddOnManager.ThemeManager;
  37. tinymce.dom = tinymce.dom || {};
  38. tinymce.dom.Event = EventUtils.Event;
  39. Tools.each(Tools, function(func, key) {
  40. tinymce[key] = func;
  41. });
  42. Tools.each('isOpera isWebKit isIE isGecko isMac'.split(' '), function(name) {
  43. tinymce[name] = Env[name.substr(2).toLowerCase()];
  44. });
  45. return {};
  46. });
  47. // Describe the different namespaces
  48. /**
  49. * Root level namespace this contains classes directly releated to the TinyMCE editor.
  50. *
  51. * @namespace tinymce
  52. */
  53. /**
  54. * Contains classes for handling the browsers DOM.
  55. *
  56. * @namespace tinymce.dom
  57. */
  58. /**
  59. * Contains html parser and serializer logic.
  60. *
  61. * @namespace tinymce.html
  62. */
  63. /**
  64. * Contains the different UI types such as buttons, listboxes etc.
  65. *
  66. * @namespace tinymce.ui
  67. */
  68. /**
  69. * Contains various utility classes such as json parser, cookies etc.
  70. *
  71. * @namespace tinymce.util
  72. */