submenus.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <!DOCTYPE html>
  2. <html>
  3. <!--
  4. Copyright 2010 The Closure Library Authors. All Rights Reserved.
  5. Use of this source code is governed by the Apache License, Version 2.0.
  6. See the COPYING file for details.
  7. -->
  8. <head>
  9. <title>goog.ui.SubMenu</title>
  10. <script src="../base.js"></script>
  11. <script>
  12. goog.require('goog.debug');
  13. goog.require('goog.positioning.Corner');
  14. goog.require('goog.ui.Menu');
  15. goog.require('goog.ui.SubMenu');
  16. goog.require('goog.ui.PopupMenu');
  17. </script>
  18. <link rel="stylesheet" href="css/demo.css">
  19. <link rel="stylesheet" href="../css/menu.css">
  20. <link rel="stylesheet" href="../css/menuitem.css">
  21. <link rel="stylesheet" href="../css/menuseparator.css">
  22. <link rel="stylesheet" href="../css/submenu.css">
  23. </head>
  24. <body>
  25. <h1>goog.ui.SubMenu</h1>
  26. <p>Demonstration of different of hierarchical menus.</p>
  27. <p><button id="button">Open menu</button></p>
  28. <p>
  29. Here's a menu (with submenus) defined in markup:
  30. </p>
  31. <div id="demoMenu" class="goog-menu">
  32. <div class="goog-menuitem">Open...</div>
  33. <div class="goog-submenu">Open Recent
  34. <div class="goog-menu">
  35. <div class="goog-menuitem">Annual Report.pdf</div>
  36. <div class="goog-menuitem">Quarterly Update.pdf</div>
  37. <div class="goog-menuitem">Enemies List.txt</div>
  38. <div class="goog-submenu">More
  39. <div class="goog-menu">
  40. <div class="goog-menuitem">Foo.txt</div>
  41. <div class="goog-menuitem">Bar.txt</div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <script>
  48. // Popup menu with sub menus
  49. var menu = new goog.ui.PopupMenu();
  50. menu.attach(document.getElementById('button'),
  51. goog.positioning.Corner.BOTTOM_START);
  52. var a = new goog.ui.SubMenu('Zero');
  53. var b = new goog.ui.SubMenu('Ten');
  54. var c = new goog.ui.SubMenu('Twenty');
  55. var d = new goog.ui.SubMenu('Thirty');
  56. var aa = new goog.ui.SubMenu('One')
  57. aa.setEnabled(false);
  58. aa.addItem(new goog.ui.MenuItem('Add'));
  59. aa.addItem(new goog.ui.MenuItem('Subtract'));
  60. aa.addItem(new goog.ui.MenuItem('Multiply'));
  61. a.addItem(aa);
  62. a.addItem(new goog.ui.MenuItem('Two'));
  63. a.addItem(new goog.ui.MenuItem('Three'));
  64. a.addItem(new goog.ui.MenuItem('Four'));
  65. b.addItem(new goog.ui.MenuItem('Eleven'));
  66. b.addItem(new goog.ui.MenuItem('Thirteen'));
  67. b.addItem(new goog.ui.MenuItem('Fourteen'));
  68. b.addItem(new goog.ui.MenuItem('Fifteen'));
  69. c.addItem(new goog.ui.MenuItem('Twenty-one'));
  70. var cb = new goog.ui.SubMenu('Twenty-Two')
  71. cb.addItem(new goog.ui.MenuItem('Add'));
  72. cb.addItem(new goog.ui.MenuItem('Subtract'));
  73. cb.addItem(new goog.ui.MenuItem('Multiply'));
  74. var cbd = new goog.ui.SubMenu('More')
  75. cbd.addItem(new goog.ui.MenuItem('Square Root'));
  76. cbd.addItem(new goog.ui.MenuItem('Power'));
  77. cbd.addItem(new goog.ui.MenuItem('Square'));
  78. cb.addItem(cbd);
  79. c.addItem(cb);
  80. c.addItem(new goog.ui.MenuItem('Twenty-three'));
  81. c.addItem(new goog.ui.MenuItem('Twenty-four'));
  82. d.addItem(new goog.ui.MenuItem('Thirty-one'));
  83. d.addItem(new goog.ui.MenuItem('Thirty-two'));
  84. d.addItem(new goog.ui.MenuItem('Thirty-three'));
  85. d.addItem(new goog.ui.MenuItem('Thirty-four'));
  86. menu.addItem(a);
  87. menu.addItem(new goog.ui.MenuItem('AaAaAaAaAaAa'));
  88. menu.addItem(new goog.ui.MenuItem('BbBbBbBbBbBb'));
  89. menu.addItem(b);
  90. menu.addItem(c);
  91. menu.addItem(d);
  92. var ccc = new goog.ui.MenuItem('CcCcCcCcCcCc');
  93. ccc.setEnabled(false);
  94. menu.addItem(ccc);
  95. menu.addItem(new goog.ui.MenuItem('DdDdDdDdDdDd'));
  96. menu.render();
  97. menu.getElement().id = 'foo';
  98. goog.events.listen(menu, 'action', function(e) {
  99. var action = e.target.getCaption();
  100. alert(action);
  101. });
  102. var menuDiv = goog.dom.getElement('demoMenu');
  103. var menu2 = new goog.ui.Menu();
  104. menu2.decorate(menuDiv);
  105. goog.events.listen(menu2, 'action', function(e) {
  106. var action = e.target.getCaption();
  107. alert(action);
  108. });
  109. </script>
  110. </body>
  111. </html>