html - Apps 脚本对话框中的 CSS

标签 html css google-apps-script

我不是网络开发人员,过去只用过一次 CSS。使用 CSS 的过程是怎样的?这可能吗?

var pointsSheet = SpreadsheetApp.openById('1o8_f063j1jYZjFEnI_P7uAztpnEAvQ6mc3Z1_Owa69Y');

//creates and shows an app with a label and password text box
function doGet() {
  var app = UiApp.createApplication();

  var mygrid = app.createGrid(1, 2);
  mygrid.setWidget(0, 0, app.createLabel('Password:'));
  mygrid.setWidget(0, 1, app.createPasswordTextBox().setName("text"));

  var mybutton = app.createButton('Submit');

  var submitHandler = app.createServerClickHandler('getResults');
  submitHandler.addCallbackElement(mygrid);
  mybutton.addClickHandler(submitHandler);

  var mypanel = app.createVerticalPanel();
  mypanel.add(mygrid);
  mypanel.add(mybutton);
  app.add(mypanel);

  return app; //UNCOMMENT WHEN DEPLOYING APP
}

//obtains data based on password entered by user and outputs their info
function getResults(eventInfo) {
  var app = UiApp.getActiveApplication();
  var password = eventInfo.parameter.text;

  var passwordCheckRange = pointsSheet.getRange("B34:C34").getValues();

  if (passwordCheckRange == null) {
    return app;
  }

  var name;
  var studentFound = false;
  for(var i = 0; i < passwordCheckRange.length; i++) {//obtains the name of the student
    if(passwordCheckRange[i][1] == password) {
      name = passwordCheckRange[i][0];
      studentFound = true;
      break;
    }
  }

  var studentRecordRange = pointsSheet.getRange("B3:CZ29").getValues();
  var headingRange = pointsSheet.getRange("B1:CZ2").getValues();

  if (studentRecordRange == null) {
    return app;
  }

  var studentRecord;
  for(var i = 0; i < studentRecordRange.length; i++) {
    if(studentRecordRange[i][0] == name)
      studentRecord = studentRecordRange[i]; //gets the row of the student (B? to AY?)
  }

  var stringRecord = "";
  for(var i = headingRange[1].length-1; i >= 7; i--) {
    if ((studentRecord[i] == "" || studentRecord[i] == "STOP" || studentRecord[i] == "ALLOW") && headingRange[0][i] != "")
      stringRecord += headingRange[1][i] + ": " + headingRange[0][i] + "XP" + "<br>";
  }

  var mygrid = app.createGrid(2, 1);
  mygrid.setWidget(0, 0, app.createLabel('INCOMPLETE CHALLENGES'));
  mygrid.setWidget(1, 0, app.createHTML(stringRecord));

  var mypanel = app.createVerticalPanel();
  mypanel.add(mygrid);
  app.add(mypanel);

  return app;
}

最佳答案

编辑:此答案适用于现已弃用的 UIApp 服务,该服务已于 2014 年弃用。

我所做的是,

  1. 在同一个元素中,我创建了另一个脚本文件并将其命名为 CSS.gs

  2. 我的 CSS.gs 将包含以下行,

    变种 css={}; css.Labels = { fontFamily:'Verdana', fontSize:'12px', width: '100', marginTop: '5'}; css.Inputs = { fontFamily:'Verdana', fontSize:'12px', width: '150'}; css.TextArea = { fontFamily:'Verdana', fontSize:'12px', width: '900', height: '50'}; css.PutBorder = {borderStyle: 'solid'};

  3. 我将使用 .setStyleAttributes() 将这些样式应用于应用

    例如::app.createLabel('密码:').setStyleAttributes(css.Inputs)

有setStyleAttribute和setStyleAttribute's'。请不要混淆。 GS 不支持所有的 css 属性。您可以找到支持的样式列表 here .

关于html - Apps 脚本对话框中的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25579038/

相关文章:

javascript - 我想每次都将不同的变量传递给循环中动态创建的按钮

javascript - 是否可以在 html 文本字段中显示图像?

html - 使用 CSS 一个接一个地垂直放置输入

javascript - 两列中的 Google Apps 脚本日期

javascript - HtmlService GAS 在html表单之间传递变量

html - 使用 content_tag 时 Ruby on Rails 中 html 表的奇怪呈现

android - 粘性页脚问题(Android、Apple IOS)

html - Hover.css 库动画在 Firefox 或 Edge 中不工作,但在 chrome 中工作?

javascript - 如何从服务器请求json文件并放入?

javascript - Materialise CSS 中的可折叠元素未在 Apps 脚本侧边栏 HTML 中展开