## Commands You can customize the initial state of the module from the editor initialization, by passing the following [Configuration Object][1] ```js const editor = grapesjs.init({ commands: { // options } }) ``` Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance ```js const commands = editor.Commands; ``` - [add][2] - [get][3] - [has][4] - [run][5] - [stop][6] ## add Add new command to the collection ### Parameters - `id` **[string][7]** Command's ID - `command` **([Object][8] \| [Function][9])** Object representing your command, By passing just a function it's intended as a stateless command (just like passing an object with only `run` method). ### Examples ```javascript commands.add('myCommand', { run(editor, sender) { alert('Hello world!'); }, stop(editor, sender) { }, }); // As a function commands.add('myCommand2', editor => { ... }); ``` Returns **this** ## get Get command by ID ### Parameters - `id` **[string][7]** Command's ID ### Examples ```javascript var myCommand = commands.get('myCommand'); myCommand.run(); ``` Returns **[Object][8]** Object representing the command ## has Check if command exists ### Parameters - `id` **[string][7]** Command's ID Returns **[Boolean][10]** ## run Execute the command ### Parameters - `id` **[String][7]** Command ID - `options` **[Object][8]** Options (optional, default `{}`) ### Examples ```javascript commands.run('myCommand', { someOption: 1 }); ``` Returns **any** The return is defined by the command ## stop Stop the command ### Parameters - `id` **[String][7]** Command ID - `options` **[Object][8]** Options (optional, default `{}`) ### Examples ```javascript commands.stop('myCommand', { someOption: 1 }); ``` Returns **any** The return is defined by the command [1]: https://github.com/artf/grapesjs/blob/master/src/commands/config/config.js [2]: #add [3]: #get [4]: #has [5]: #run [6]: #stop [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function [10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean