将内容添加到菜单项

时间:2013-02-17 23:20:58

标签: javascript google-apps-script

我已经制作了一些菜单,但是一旦点击就无法弄清楚如何设置这些菜单项的实际页面内容。欢呼声。

function doGet() {
  var app = UiApp.createApplication();
  var menu = app.createMenuBar();
  var handler = app.createServerHandler();

  var menuUsers = menu.addItem('Users', handler).addSeparator().setId('users');
  var menuPending = menu.addItem('Pending Submissions', handler).addSeparator().setId('pending');

  app.add(menu);
  return app;
}

1 个答案:

答案 0 :(得分:0)

一般情况下,您会有一些主面板作为主显示屏。我们称之为main-display"

每个菜单项的处理程序在单击菜单项时执行一个功能。此功能可以执行任何操作(例如,突出显示某些文本,或拉出工具栏或保存文件)。它不一定要改变整个显示器。菜单栏就像File菜单或Edit或您喜欢的任何内容。

您必须定义一个ServerHandler来处理被单击的每个不同的菜单项。

function doGet() {
  var app = UiApp.createApplication();
  var menu = app.createMenuBar();
  var handlerUsers = app.createServerHandler("showUsers");
  var handlerPending = app.createServerHandler("showPending");

  var menuUsers = menu.addItem('Users', handlerUsers).addSeparator().setId('users');
  var menuPending = menu.addItem('Pending Submissions', handlerPending).addSeparator().setId('pending');

  app.add(app.createVerticalPanel().add(menu).add(app.createSimplePanel().setId("main-display")));
  return app;
}

然后有一些功能

function showUsers() {
  var app = UiApp.getActiveApplication();
  var main = app.getElementById("main-display");
  //do whatever you need to display your main panel
  return app;
}

showPending的相似功能

相反,如果您想要一堆不同的内容面板,请查看使用TabPanel。我觉得这更像是你在寻找的东西。