/branches/jsdoc_tk_gui/setup/workingDirectory/Webeo/gui/tooltip/TooltipTemplate.js

http://jsdoc-toolkit.googlecode.com/ · JavaScript · 94 lines · 66 code · 17 blank · 11 comment · 1 complexity · 20f9b98be4a53ea96e7b8b4ad5e96cfd MD5 · raw file

  1. ek.require("gui.tools.Dom");
  2. ek.register("gui.tooltip.TooltipTemplate");
  3. TooltipTemplate.DEFAULT = 0;
  4. TooltipTemplate.ARRAY = 7;//TODO REMOVE ASAP
  5. TooltipTemplate.ARRAY_LEFT_TOP = 1;
  6. TooltipTemplate.ARRAY_TOP = 2;
  7. TooltipTemplate.ARRAY_RIGHT_TOP = 3;
  8. TooltipTemplate.ARRAY_RIGHT = 4;
  9. TooltipTemplate.ARRAY_RIGHT_BOTTOM = 5;
  10. TooltipTemplate.ARRAY_BOTTOM = 6;
  11. TooltipTemplate.ARRAY_LEFT_BOTTOM = 7;
  12. TooltipTemplate.ARRAY_LEFT = 8;
  13. /**
  14. *
  15. */
  16. function TooltipTemplate (templateId){
  17. this.templateId = (templateId) ? templateId : TooltipTemplate.DEFAULT;
  18. this.templateDom = new Array();
  19. this.container = new Array();
  20. }
  21. /** */
  22. TooltipTemplate.prototype.getTemplate = function (text, clazz, id){
  23. if(!this.templateDom[id]){
  24. switch(this.templateId){
  25. case TooltipTemplate.DEFAULT :
  26. this.createDefaultTemplate(id);
  27. break;
  28. case TooltipTemplate.ARRAY_LEFT_TOP :
  29. case TooltipTemplate.ARRAY_TOP :
  30. case TooltipTemplate.ARRAY_RIGHT_TOP :
  31. case TooltipTemplate.ARRAY_RIGHT :
  32. case TooltipTemplate.ARRAY_RIGHT_BOTTOM :
  33. case TooltipTemplate.ARRAY_BOTTOM :
  34. case TooltipTemplate.ARRAY_LEFT_BOTTOM :
  35. case TooltipTemplate.ARRAY_LEFT :
  36. this.createArrayTemplate(id);
  37. break;
  38. }
  39. //Set class, id and content
  40. this.templateDom[id].setAttribute("class", clazz);
  41. this.templateDom[id].setAttribute("id", id);
  42. this.container[id].innerHTML = text;
  43. }
  44. return this.templateDom[id];
  45. }
  46. /** */
  47. TooltipTemplate.prototype.createDefaultTemplate = function (id){
  48. this.templateDom[id] = Dom.createHTMLDivElement("");
  49. this.container[id] = this.templateDom[id];
  50. }
  51. /** */
  52. TooltipTemplate.prototype.createArrayTemplate = function (id){
  53. this.templateDom[id] = Dom.createHTMLTableElement("");
  54. //First Row
  55. var row1 = Dom.createHTMLTableRowElement("top");
  56. row1.appendChild(this.createOneCell("topleft corner", "leftTopArrow"));
  57. row1.appendChild(this.createOneCell("top", "topArrow"));
  58. row1.appendChild(this.createOneCell("topright corner", "rightTopArrow"));
  59. //Middle Row
  60. var row2 = Dom.createHTMLTableRowElement();
  61. row2.appendChild(this.createOneCell("left", "leftArrow"));
  62. this.container[id] = Dom.createHTMLTableCellElement("", "content");
  63. row2.appendChild(this.container[id]);
  64. row2.appendChild(this.createOneCell("right", "rightArrow"));
  65. //Last Row
  66. var row3 = Dom.createHTMLTableRowElement("bottom");
  67. row3.appendChild(this.createOneCell("bottomleft corner", "leftBottomArrow"));
  68. row3.appendChild(this.createOneCell("bottom", "bottomArrow"));
  69. row3.appendChild(this.createOneCell("bottomright corner", "rightBottomArrow"));
  70. this.templateDom[id].appendChild(row1);
  71. this.templateDom[id].appendChild(row2);
  72. this.templateDom[id].appendChild(row3);
  73. }
  74. /** */
  75. TooltipTemplate.prototype.createOneCell = function (tdClass, divClass){
  76. return Dom.createHTMLTableCellElement(Dom.createHTMLDivElement("", divClass), tdClass);
  77. }