Prompt API
The Prompt API allows you to ask the user to fill a small form before an action. For example, if you need a modifier before a dice roll, you can prompt a small popin asking the modifier's value.
The prompt itself consist of a title, a view's id, and a callback with
the data collected from the view. The view is initialized in the global
init(sheet)
function.
Example
sheet.get('attack').on('click', function() {
sheet.prompt('Modifiers ?', 'rollprompt', function(result) { // rollprompt is the id of the view
// result is an object of the data of the view
// after the user clicks "continue".
// if the user cancel the prompt, the function is not called
if (result.advantage) {
Dice.roll(sheet, 'keeph(2d20)');
} else {
Dice.roll(sheet, '1d20');
}
});
});
sheet.prompt(title, view, callback, callbackInit)
title
, type: string
required
, The title of the prompt
window. view
, type: string
required
, The ID of the view to
use. callback
, type: Function
required
, The callback to get
the data once the user click the "next" button. The first argument is
the view's data. callbackInit
, type: Function
, The callback
called when opening the prompt which allows to modify elements of the
prompt view from information coming from the sheet which calls
sheet.prompt(...)
Example
sheet.get('attack').on('click', function() {
sheet.prompt('Modifiers ?', 'rollprompt', function(result) { // rollprompt is the id of the view
// result is an object of the data of the view
// after the user clicks "continue".
// if the user cancel the prompt, the function is not called
if (result.advantage) {
Dice.roll(sheet, 'keeph(2d20) + ' + result.prompt_modifier);
} else {
Dice.roll(sheet, '1d20 + ' + result.prompt_modifier);
}
}, function(promptView){ // callbackInit
// the callbackInit function can access the sheet which calls the prompt and the prompt sheet
const dex_modifier = sheet.get('dex_modifier').value(); // dex_modifier is on the character sheet
promptView.get('prompt_modifier').value(dex_modifier); // prompt_modifier is on the prompt sheet
});
});
Prompt(title, view, callback)
This stand-alone function has been deprecated, use sheet.prompt() instead
title
, type: string
required
, The title of the prompt
window. view
, type: string
required
, The ID of the view to
use. callback
, type: Function
required
, The callback to get
the data once the user click the "next" button. The first argument is
the view's data.