Google App Script - setId on Component not working -
i'm trying create ui spreadsheet. unfortunately, can't seem id set on component when using uiservice. can verify id not set using chrome developer tools. may or may not relevant, i'm using drive in in google apps domain environment. here code:
function onopen() { spreadsheetapp.getui() .createmenu('tweet menu') .additem('tweet sidebar', 'tweetsidebar') .addtoui(); }; function tweetsidebar() { var ui = spreadsheetapp.getui(); var app = uiapp.createapplication(); app.settitle('tweet sidebar'); var panel = app.createverticalpanel(); panel.setid('twitterpanel'); panel.setstyleattribute('margin', '5px'); var textarea = app.createtextarea(); textarea.setid('12345'); textarea.setname('tweettext'); textarea.setwidth('290px').setheight('175px'); var keypresshandler = app.createserverhandler('checklength'); keypresshandler.addcallbackelement(textarea); textarea.addkeypresshandler(keypresshandler) var button = app.createbutton('add tweet'); button.setid('addtweet'); var handler = app.createserverhandler('addtweet'); handler.addcallbackelement(textarea); button.addclickhandler(handler); panel.add(textarea); panel.add(button); app.add(panel); spreadsheetapp.getui().showsidebar(app); } function addtweet(e) { var app = uiapp.getactiveapplication(); var textareavalue = e.parameter.tweettext; var sheet = spreadsheetapp.getactivespreadsheet(); var lastrow = sheet.getlastrow(); var previousbufferid = sheet.getrange('b' + lastrow); var newbufferid = previousbufferid.getvalue() + 1; var lasttweetcell = sheet.getrange('a' + (lastrow + 1)); var lastbufferid = sheet.getrange('b' + (lastrow + 1)); lasttweetcell.setvalue(textareavalue); lastbufferid.setvalue(newbufferid); app.getelementbyid('12345').setvalue(''); } function checklength(e) { var app = uiapp.getactiveapplication(); var textareavalue = e.parameter.tweettext; var len = textareavalue.length; app.getelementbyid('12345'); }
i believe missing return app;
in checklength() , addtweet() functions.
Comments
Post a Comment