octave-online / octave-online-server

The infrastructure that powers Octave Online, octave-online.net
GNU Affero General Public License v3.0
322 stars 75 forks source link

Add support for dialog boxes #63

Open sffc opened 2 years ago

sffc commented 2 years ago

Octave has functions to display dialog boxes to the user, such as listdlg and msgbox. We should support these dialog boxes in Octave Online.

The dialog box events are plumbed into the interpreter_events API in Octave, so implementing this ticket means:

  1. Write the HTML/CSS/JavaScript for each type of dialog box
  2. Add support for the dialog boxes to octave_json_link in the Octave Online patch
  3. Send messages for dialog boxes through the stack so that when octave_json_link receives a dialog box event, that event is forwarded to the client where the HTML/CSS/JavaScript can appear

This is a good first issue because the implementation is straightforward, but note that it requires being familiar with multiple parts of the stack (with an emphasis on the client and octave_json_link).

sffc commented 1 year ago

Note: currently the octave_json_link event manager returns true for dialog support, since that component does support them, but the Octave Online part does not do anything with the dialog messages.

https://hg.octave.org/octave/rev/a7981aa5822b