Files
youtube-music/providers/prompt/readme.md
Araxeus 980ffb45e9 Create readme.md
refactor and css fix

xo --fix

add inline doc

fix typo
2021-04-06 21:57:16 +03:00

6.8 KiB

Prompt Documentation

prompt-preview

Usage

prompt([options, parentBrowserWindow]).then(...).catch(...)

Promise resolve returns input

If user presses cancel/exit window, input = null;

On error, Prompise reject returns custom error message

Example

const prompt = require('./providers/prompt');

prompt({
    title: 'Prompt example',
    label: 'URL:',
    value: 'http://example.org',
    inputAttrs: {
        type: 'url'
    },
    type: 'input'
})
.then((r) => {
    if(r === null) {
        console.log('user cancelled');
    } else {
        console.log('result', r);
    }
})
.catch(console.error);

Options object (optional)

Key Explanation
title (optional, string) The title of the prompt window. Defaults to 'Prompt'.
label (optional, string) The label which appears on the prompt for the input field. Defaults to 'Please input a value:'.
buttonLabels (optional, object) The text for the OK/cancel buttons. Properties are 'ok' and 'cancel'. Defaults to null.
value (optional, string) The default value for the input field. Defaults to null.
type (optional, string) The type of input field, either 'input' for a standard text input field or 'select' for a dropdown type input. Defaults to 'input'.
inputAttrs (optional, object) The attributes of the input field, analagous to the HTML attributes: {type: 'text', required: true} -> <input type="text" required>. Used if the type is 'input'
selectOptions (optional, object) The items for the select dropdown if using the 'select' type in the format 'value': 'display text', where the value is what will be given to the then block and the display text is what the user will see.
useHtmlLabel (optional, boolean) Whether the label should be interpreted as HTML or not. Defaults to false.
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.
frame (optional, boolean) Wether to create prompt with frame. Defaults to true.
customScript (optional, string) The local path of a JS file to run on preload. Defaults to null.
enableRemoteModule (optional, boolean) Wether the prompt window have remote modules activated, Defaults to false.

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.

customScript (optional)

Create the script with the following template:

module.exports = () => {
    // This function will be called as a preload script
    // So you can use front features like `document.querySelector`
};