Comments (5)
Hmm that's strange -- there should be no difference. I was just able to trigger focus in the Sheets demo app I included, but I needed to change the line below in the server code to use showModelessDialog()
instead of showModalDialog
.
React-Google-Apps-Script/src/server/ui.js
Line 15 in 2721e34
Modeless dialogs let you interact with the main page behind it: https://developers.google.com/apps-script/reference/base/ui#showModelessDialog(Object,String)
Also, the official documentation for script.host.editor.focus
specifies only "Google Docs, Sheets, or Forms," and not Slides. Assume it would work the same way in Slides though if you say it has worked for you.
https://developers.google.com/apps-script/guides/html/reference/host#index.html_1
from react-google-apps-script.
Thanks for the quick response. However that isn’t my issue. My bad, I should've been clearer in my question. Here’s a slightly detailed explanation:
I’ve built a sidebar addon with your template. Overall it’s working great. I have a “left align” button that runs a server side command to align all selected items to the left. Also working great. But if I were to hit “command z” it doesn’t undo the alignment. That’s because the last place I clicked was in the sidebar addon on the button. I am forced to click back in the document to execute an undo. I resolved that in my previous script written in Google Apps Script by running google.script.host.editor.focus()
. It would programmatically move the focus back to the Slides document.
That is where the issue is. I can’t seem to find a way to do that in this template.
I hope that clarifies the issue.
Thank you again.
from react-google-apps-script.
Have you tried adding the focus command in your button onClick handler? I would do something like:
<button
onClick={() => {
serverFunctions.runSomeServerFunction()
.then(() => google.script.host.editor.focus());
}}
/>
from react-google-apps-script.
It worked!
It's weird because I had tried that before and it didn't work. I also tried async/await and it hadn't. After further testing I realized that google.script.host.editor.focus()
only works after deploying the files. Not during the local development using the npm run start
command.
Thank you!
from react-google-apps-script.
Ah, yes that makes sense! Should have mentioned it won't work in local development @poorawaste .
The repos that support the local development environment could actually be modified to support google.script.host.editor.focus()
, but it would be a bit of work and don't think it's worth the trouble since they're probably not used much. The only google client API that's been set up to work in local development is google.script.run
.
See https://github.com/enuchi/gas-client and https://github.com/enuchi/Google-Apps-Script-Webpack-Dev-Server if you're interested in digging in to the internals.
from react-google-apps-script.
Related Issues (20)
- Can we migrate to vite? HOT 4
- White (blank) sidebar in Chrome when using Station wallet Chrome extension HOT 12
- How to use shadcn/ui HOT 1
- Issue: app is not loaded when I deploy, but does work with HMR HOT 2
- I want to use fast refresh without https
- How to deploy a google workspace addon using this? HOT 6
- Is it possible to pass initial state to React root component? HOT 3
- Uncaught ReferenceError: react is not defined HOT 1
- Typescript support for custom functions HOT 14
- Seeing "Running script" with "Cancel" and "Dismiss" instead of "Working" when executing opening the sidebar HOT 2
- Support for NextJs HOT 4
- Uncaught ReferenceError: emotionReact is not defined at 9291 (userCodeAppPanel:2:53729) HOT 5
- JSdocs Autocomplete not working as expected HOT 9
- ReferenceError: TextEncoder is not defined : how to diagnose a solution HOT 3
- TypeScript support for TableCell.setBold() TableCell.setFontSize() HOT 1
- Solution for webapp react-router sync with google.script.history (Client-side API) HOT 3
- How to expose an Appscript ServerFunction to the user for attaching as a script? HOT 3
- How to create custom functions in V3 version? HOT 5
- [Q] Any breaking change while migrating from V2 webpack to V3 vite? HOT 2
- Close dialog in Development Mode using google.script.host.close() HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-google-apps-script.