Get user input on script run

Started by dvenetas, March 22, 2021, 13:07:27 PM

Previous topic - Next topic

dvenetas

Hello!,

Can we accept user input in Archi console when we run a script?

Nashorn readLine() function seems to not be working:

Script Error: javax.script.ScriptException: ReferenceError: "readline" is not defined in file:/D:/projects/archi-script/scripts/restclient.ajs at line number 61
Script Error: javax.script.ScriptException: ReferenceError: "readLine" is not defined in file:/D:/projects/archi-script/scripts/restclient.ajs at line number 61

Also:
    console.log("Give user");
    var buffer = new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.System.in));
    var uname = buffer.readLine();

throws:
    Script Error: java.lang.RuntimeException: java.io.IOException: The handle is invalid

Is there a way to get user to provide input at runtime?

Phil Beauvoir

Hi, the console is for output only.

Please take time to read through the wiki. This section concerns the console and user input:

https://github.com/archimatetool/archi-scripting-plugin/wiki/The-Console%2C-Dialogs-and-Other-Utilities
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

dvenetas

Thank you!! hadn't seen this part.

René

Are there any other ways for input during run?

var name = window.prompt("Please enter your name", "Default Name");

I ask for checkboxes, comboboxes, etc.

Phil Beauvoir

Quote from: René on March 25, 2021, 09:27:38 AM
Are there any other ways for input during run?

var name = window.prompt("Please enter your name", "Default Name");

I ask for checkboxes, comboboxes, etc.

Have a look at this topic - https://forum.archimatetool.com/index.php?topic=843.0
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Jean-Baptiste Sarrodie

Hi,

FWIW, I'm working on a small JS library to address this need. The goal is to make it easy to describe the dialog UI, then "run" it and get a data structure (JSON) as a result.

I'll share it as soon as possible, but don't expect something ready before one or two months.

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

mohitd

Quote from: Jean-Baptiste Sarrodie on March 25, 2021, 10:02:37 AMHi,

FWIW, I'm working on a small JS library to address this need. The goal is to make it easy to describe the dialog UI, then "run" it and get a data structure (JSON) as a result.

I'll share it as soon as possible, but don't expect something ready before one or two months.

Regards,

JB

Hello Jean-Baptiste Sarrodie,

Can you please direct me to where the JS library is? The things discussed in this thread are exactly what I am looking for. Thanks!

Regards,
Mohit

Jean-Baptiste Sarrodie

Hi,

Quote from: mohitd on November 07, 2022, 18:28:36 PMCan you please direct me to where the JS library is? The things discussed in this thread are exactly what I am looking for. Thanks!

Unfortunately, I wasn't able to finish this library.

Maybe this experiment made by Thomas Rohde could help you: https://gist.github.com/ThomasRohde/73d250bcf8e27bf76d7b7f92977f7c83

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Thomas Rohde

I have created a forms library for easy modelling of web forms using JSON schemas.

The library uses the JSON Form library. Go there to fetch the library and dependencies.

JArchi library gist (show_form.js), including an example application.

Thomas Rohde

#9
I have reworked my forms utility to use JSON Editor instead.

This library gives more control over grids, and integrates a number of useful editors.

The gist is here.

The gist has two examples, including a handy editor for documentation properties, which allows easy editing of Markdown, ready for another script to publish to Confluence.

Form1.pngmarkdown.png