Feature: Support closing dialog windows (#233)

Supports closing dialogs in development. Upgrades gas-client to 1.2.0 and uses new API here: Add scriptHostFunctions for google.script.host gas-client#36
Example button to close dialog in Bootstrap sample
Updates integration tests
This commit is contained in:
Elisha Nuchi
2025-03-16 12:13:30 -04:00
committed by GitHub
parent 85223ca42a
commit 248a90023c
17 changed files with 2494 additions and 2502 deletions
@@ -4,10 +4,14 @@ import { Button, ListGroup } from 'react-bootstrap';
import FormInput from './FormInput';
// This is a wrapper for google.script.run that lets us use promises.
import { serverFunctions } from '../../utils/serverFunctions';
import {
serverFunctions,
scriptHostFunctions,
} from '../../utils/serverFunctions';
const SheetEditor = () => {
const [names, setNames] = useState([]);
const [isExpanded, setIsExpanded] = useState(false);
useEffect(() => {
serverFunctions.getSheetsData().then(setNames).catch(alert);
@@ -77,6 +81,29 @@ const SheetEditor = () => {
))}
</TransitionGroup>
</ListGroup>
{names.length > 0 && (
<div className="d-flex justify-content-end py-3">
{!isExpanded ? (
<Button
variant="light"
className="mr-2"
onClick={() => {
scriptHostFunctions.setHeight(1000);
scriptHostFunctions.setWidth(1000);
setIsExpanded(true);
}}
>
Expand Dialog
</Button>
) : null}
<Button
variant="outline-dark"
onClick={() => scriptHostFunctions.close()}
>
Close Dialog Window
</Button>
</div>
)}
</div>
);
};