Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onlxltd/electron-dynamic-prompt
Electron helper to prompt for a string value
https://github.com/onlxltd/electron-dynamic-prompt
Last synced: 3 months ago
JSON representation
Electron helper to prompt for a string value
- Host: GitHub
- URL: https://github.com/onlxltd/electron-dynamic-prompt
- Owner: onlxltd
- License: mit
- Fork: true (p-sam/electron-prompt)
- Created: 2020-10-15T17:15:29.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2021-04-22T11:13:46.000Z (over 3 years ago)
- Last Synced: 2024-09-25T01:51:06.777Z (3 months ago)
- Language: JavaScript
- Size: 186 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# electron-dynamic-prompt
Electron helper to prompt for dynamic fields
## Usage
```sh
yarn add electron-dynamic-prompt
``````js
prompt([options, parentBrowserWindow]).then(...).catch(...)
```## Example
```js
const prompt = require('electron-prompt');prompt({
modal: false,
title: 'Dialog Title',
header: 'Dialog Title',
description: 'Dialog description',
height: 380,
fields: [
{
id: 'field1',
label: 'Field 1',
type: 'input',
attrs: {
placeholder: 'Field 1',
required: true
}
},
{
id: 'field2',
label: 'Field 2',
type: 'input',
attrs: {
type: 'password',
placeholder: 'Field 1',
required: true
}
}
],
validator: (args) => new Promise((resolve, reject) => {
if(args.field1 == 'abcd' && args.field2 == '1234') {
resolve()
} else {
reject('Invalid username or password')
}
})
})
.then((r) => {
if(r === null) {
console.log('user cancelled');
} else {
console.log('result', r);
}
})
.catch(console.error);
```## Documentation
Primary method:
```js
prompt([options, parentBrowserWindow]).then(...).catch(...)
```### Options object (optional)
| Key | Explanation |
| ------------- | ------------- |
| title | (optional, string) The title of the prompt window. Defaults to 'Dialog'. |
| header | (optional, string) The header which appears on the prompt for the input field. Defaults to ''. |
| description | (optional, string) The description which appears on the prompt below the header. Defaults to ''. |
| buttonLabels | (optional, object) The text for the OK/cancel buttons. Properties are 'ok' and 'cancel'. Defaults to null. |
| fields | (requred: array) The fields to display in the dialog |
| validator | (optional) Validate the response before closing the dialog |
| width | (optional, integer) The width of the prompt window. Defaults to 370. |
| minWidth | (optional, integer) The minimum allowed width for the prompt window. Same default value as width. |
| height | (optional, integer) The height of the prompt window. Defaults to 130. |
| minHeight | (optional, integer) The minimum allowed height for the prompt window. Same default value as height. |
| resizable | (optional, boolean) Whether the prompt window can be resized or not (also sets useContentSize). Defaults to false. |
| alwaysOnTop | (optional, boolean) Whether the window should always stay on top of other windows. Defaults to false |
| icon | (optional, string) The path to an icon image to use in the title bar. Defaults to null and uses electron's icon. |
| customStylesheet | (optional, string) The local path of a CSS file to stylize the prompt window. Defaults to null. |
| menuBarVisible | (optional, boolean) Whether to show the menubar or not. Defaults to false. |
| skipTaskbar | (optional, boolean) Whether to show the prompt window icon in taskbar. Defaults to true. |If not supplied, it uses the defaults listed in the table above.
### parentBrowserWindow (optional)
The window in which to display the prompt on. If not supplied, the parent window of the prompt will be null.