Skip to content

Commit

Permalink
fix: add type information to blockly options (google#6283)
Browse files Browse the repository at this point in the history
* fix: add type information to blockly options

* chore: format

* chore: remove erroneous comment
  • Loading branch information
BeksOmega committed Aug 2, 2022
1 parent 8fc1acd commit 071fe45
Showing 1 changed file with 58 additions and 3 deletions.
61 changes: 58 additions & 3 deletions core/blockly_options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,66 @@
import * as goog from '../closure/goog/goog.js';
goog.declareModuleId('Blockly.BlocklyOptions');

import {Theme} from './theme.js';
import {Workspace} from './workspace.js';


/**
* Blockly options.
* This interface is further described in
* `typings/parts/blockly-interfaces.d.ts`.
* @alias Blockly.BlocklyOptions
*/
export interface BlocklyOptions {}
export interface BlocklyOptions {
collapse?: boolean;
comments?: boolean;
cs?: boolean;
disable?: boolean;
grid?: GridOptions;
horizontalLayout?: boolean;
maxBlocks?: number;
maxInstances?: {[blockType: string]: number};
media?: string;
move?: MoveOptions;
oneBasedIndex?: boolean;
readOnly?: boolean;
renderer?: string;
rendererOverrides?: {[rendererConstant: string]: any};
rtl?: boolean;
scrollbars?: ScrollbarOptions|boolean;
sounds?: boolean;
theme?: Theme;
toolbox?: string|object|Element;
toolboxPosition?: string;
trashcan?: boolean;
maxTrashcanContents?: boolean;
plugins?: object;
zoom?: ZoomOptions;
parentWorkspace?: Workspace;
}

export interface GridOptions {
colour?: string;
length?: number;
snap?: boolean;
spacing?: number;
}

export interface MoveOptions {
drag?: boolean;
scrollbars?: boolean|ScrollbarOptions;
wheel?: boolean;
}

export interface ScrollbarOptions {
horizontal?: boolean;
vertical?: boolean;
}

export interface ZoomOptions {
controls?: boolean;
maxScale?: number;
minScale?: number;
pinch?: boolean;
scaleSpeed?: number;
startScale?: number;
wheel?: boolean;
}

0 comments on commit 071fe45

Please sign in to comment.