Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here you go</p> <p>Spreadsheet <a href="https://docs.google.com/spreadsheet/ccc?key=0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc#gid=0" rel="nofollow">https://docs.google.com/spreadsheet/ccc?key=0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc#gid=0</a></p> <p>Script UI (Open this url from any device like Serge said.) <a href="https://script.google.com/macros/s/AKfycbxfqII2qhtctJTO1nVyLOBZJ4KxElVh8I3fTCFUR1o5R1uOUcA/exec" rel="nofollow">https://script.google.com/macros/s/AKfycbxfqII2qhtctJTO1nVyLOBZJ4KxElVh8I3fTCFUR1o5R1uOUcA/exec</a></p> <p>Code:</p> <pre><code>function doGet() { var ss = SpreadsheetApp.openById('0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc'); var sheet = ss.getSheetByName('members'); var members = sheet.getRange(2, 1, sheet.getLastRow()-1, 1).getValues(); Logger.log(members) var app = UiApp.createApplication().setTitle('Gym Check In'); var grid = app.createFlexTable().setId('grid'); app.add(grid); var row = 0; var column = 0; for (var m in members) { grid.setWidget(row, 0, app.createLabel(members[m])); grid.setWidget(row, 1, app.createButton('Check In').setId(row+2).addClickHandler(app.createServerHandler('checkIn').addCallbackElement(grid)).addClickHandler(app.createClientHandler().forEventSource().setEnabled(false))); row++; } return app; } function checkIn(e) { var ss = SpreadsheetApp.openById('0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc'); var sheet = ss.getSheetByName('members'); var button = e.parameter.source; sheet.getRange(button, 2).setValue(new Date()); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload