mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-11 02:03:58 +01:00
Amending NetscriptDefinitions
This commit is contained in:
parent
af43e63415
commit
378f67097c
17
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
17
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
@ -5878,19 +5878,22 @@ export interface NS extends Singularity {
|
||||
tFormat(milliseconds: number, milliPrecision?: boolean): string;
|
||||
|
||||
/**
|
||||
* Prompt the player with a Yes/No modal.
|
||||
* Prompt the player with an input modal.
|
||||
* @remarks
|
||||
* RAM cost: 0 GB
|
||||
*
|
||||
* Prompts the player with a dialog box with two options: “Yes” and “No”.
|
||||
* This function will return true if the player click “Yes” and false if
|
||||
* the player clicks “No”. The script’s execution is halted until the player
|
||||
* selects one of the options.
|
||||
* Prompts the player with a dialog box. If `options.type` is undefined or "boolean",
|
||||
* the player is shown "Yes" and "No" prompts, which return true and false respectively.
|
||||
* Passing a type of "text" will give the player a text field and a value of "select"
|
||||
* will show a drop-down field. Choosing type "select" will require an array or object
|
||||
* to be passed via the `options.choices` property.
|
||||
* The script’s execution is halted until the player selects one of the options.
|
||||
*
|
||||
* @param txt - Text to appear in the prompt dialog box.
|
||||
* @returns True if the player click “Yes” and false if the player clicks “No”.
|
||||
* @param options - Options to modify the prompt the player is shown.
|
||||
* @returns True if the player click “Yes”; false if the player clicks “No”; or the value entered by the player.
|
||||
*/
|
||||
prompt(txt: string): Promise<boolean>;
|
||||
prompt(txt: string, options?: { type?: "boolean"|"text"|"select"|undefined; choices?: string[] | { [key: string]: string | number } }): Promise<boolean | string>;
|
||||
|
||||
/**
|
||||
* Open up a message box.
|
||||
|
@ -12,7 +12,7 @@ export const PromptEvent = new EventEmitter<[Prompt]>();
|
||||
|
||||
interface Prompt {
|
||||
txt: string;
|
||||
options?: { type?: string; options?: string[] };
|
||||
options?: { type?: string; choices?: string[] | { [key: string]: string | number } };
|
||||
resolve: (result: boolean | string) => void;
|
||||
}
|
||||
|
||||
@ -153,11 +153,11 @@ function promptMenuSelect(prompt: Prompt | null, setPrompt: Dispatch<SetStateAct
|
||||
setValue(event.target.value);
|
||||
}
|
||||
|
||||
const getItems = (options: string[] | { [key: string]: string }) : React.ReactElement[] => {
|
||||
const getItems = (choices: string[] | { [key: string]: string | number }) : React.ReactElement[] => {
|
||||
const content = [];
|
||||
for (const i in options) {
|
||||
for (const i in choices) {
|
||||
// @ts-ignore
|
||||
content.push(<MenuItem value={i}>{options[i]}</MenuItem>);
|
||||
content.push(<MenuItem value={i}>{choices[i]}</MenuItem>);
|
||||
}
|
||||
return content;
|
||||
}
|
||||
@ -166,7 +166,7 @@ function promptMenuSelect(prompt: Prompt | null, setPrompt: Dispatch<SetStateAct
|
||||
<>
|
||||
<div style={{ display: 'flex', alignItems: 'center', paddingTop: '10px' }}>
|
||||
<Select onChange={onChange} value={value} style={{ flex: '1 0 auto' }}>
|
||||
{getItems(prompt?.options?.options || [])}
|
||||
{getItems(prompt?.options?.choices || [])}
|
||||
</Select>
|
||||
<Button onClick={submit}>Confirm</Button>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user