-
Notifications
You must be signed in to change notification settings - Fork 1
Javascript API
= Javascript API (THIS IS STILL A DRAFT!)
close(doc)
Closes the currently opened document
Parameters:
-
docCMEditor.Doc(optional): if supplied this document will be closed else the current document
deleteDoc()
Deletes the currently opened document asks for confirmation first
diff(additionalButtons, defaultButton)
Shows a diff of the current document.
Parameters:
-
additionalButtonsObject: The keys are the button labels and the values are the callbacks for when the associated button is clicked. -
defaultButtonfunction (optional): if supplied, this function will be called when the user hits enter while the dialog has focus
displayMessage(message)
Displays a message for 3 seconds
Parameters:
-
messageString: The message to be displayed
exportDoc()
Exports the current document as a download
focus()
Sets focus to the text editor
getCurDoc()
Returns the currently opened CMEditor.Doc
getCurrentCMEditorMode()
Returns the mode in which the current document is opened
getUnambiguousName(name, folder)
Appends a number to a filename so that it is unambigous
Parameters:
- name String: The name of the document
- folder String (optional): if supplied, will only search for collisions within this directory;
nullmatches all folders
getCodeMirror() Returns the underlying codeMirror instance
importDoc(fileName, fileContent, fileMode)
Imports a file into the editor
Parameters:
-
fileNameString: the filename of the document to import -
fileContentString: the content of the file to import -
fileModeString (optional): if set the file will have this mode, else theoptions.defaultmode
isReadOnly()
Returns whether the whole editor is read only
moveDoc(newFolder)
Moves the current file to another folder
newDoc(fileName, folder)
Creates a new document with a name supplied by the user
Parameters:
-
fileNameString: the new filename -
folderString: the folder (or null)
Can be used to register callbacks for events.
Available Events in CMEditor: Where not noted otherwise the Callbacks are executed in the context of the CMEditor (i.e. 'this' points to the CMEditor instance). The post-Hooks might not be called if an error occurs (e.g. server is unreachable)
preSerializeDoc: Fired before the content of the current document is serialized to the form used to send the data to server.
Basically this happens everytime something in the document changes.
Arguments: <The current document>
postSerializeDoc: Fired after the content of the current document is serialized to the form used to send the data to server.
Basically this happens everytime something in the document changes.
Arguments: <The current document>
preDeleteDoc: Fired when the user requests deleting the current document (this.state.curDoc).
postDeleteDoc: Fired when the user requests document deletion, after all user interaction has been performed and the deletion
was triggered (i.e. `prePerformDeleteDoc` was fired)
prePerformDeleteDoc: Fired before the request to delete a document is sent to the server.
postPerformDeleteDoc: Fired after the request to delete a document was executed by the server (successfully or unsuccessfully).
Arguments: <The data sent to the server>, <The server's response>
preCloseDoc: Fired when the user requests closing a document. Arguments: <The document to close>
postCloseDoc: Fired when the user requests closing a document, after all user interaction was performed and the document was closed
Arguments: <The document which was closed>
preSaveDoc: Fired when the user requests saving the current document (this.state.curDoc)
postSaveDoc: Fired when the user requests document saving, after all user interaction has been performed and the saving was
triggered (i.e. `prePerformSaveDoc` was fired).
prePerformSaveDoc: Fired before the request to save a document is sent to the server. Arguments: <The data to send>
postPerformSaveDoc: Fired after the request to save a document was executed by the server (successfully or unsuccessfully).
Arguments: <The data sent to the server>, <The server's response>
preOpenDoc: Fired when the user requests opening a document. Arguments: <The fileId to open>
postOpenDoc: Fired after a document was opened. Arguments: <The document which was opened>
prePerformLoadDoc: Fired before a document is (re-)loaded from the server. This happens on opening or saving a document.
Arguments: <The data to send to the server>
postPerformLoadDoc: Fired after a document was (re-)loaded from the server. This happens on opening or saving a document.
Arguments: <The data to sent to the server>, <The server's response>
preEnterFullscreen: Fired before entering fullscreen mode, before any layout changes occur.
postEnterFullscreen: Fired after the layout was reset for fullscreen mode.
preLeaveFullscreen: Fired before leaving fullscreen mode, before any layout changes occur.
postLeaveFullscreen: Fired after the layout was reset for non-fullscreen mode.
on(eventName, hook)
Opens a file if it is not opened yet
Parameters: fileId Integer: The id of the file readWrite Boolean: If true document will always be writable, else it will be readOnly if options.readOnly or options.defaultReadOnly is set to true
open(fileId, readWrite)
Renames the currently opened document. Shows an error message if the document is read only
Parameters: newName String: the new name of the document
rename(newName)
Saves the currently opened document. If it is opened read-only only displays a dialog.
save()
Renames then saves the current document
saveas()
Sets whether this CMEditor should show a diff before it saves
setDoDiffBeforeSaving(value)
Sets the mode (CM lingo for filetype) of the current document; triggers loading the mode first if necessary
Parameters: mode (String): The name of the mode to set
setMode(mode)
Enters or leaves fullscreen mode
toggleFullscreen()
Updates mode and read-onlyness of the current document to the corresponding properties of the underlying codeMirror
update()
Serializes the currently opened document to the editor's form
writeCurrentDocToForm()
- Grails CMEditor Demo: A very simple demo application
- Cedit: A larger application using multiple CMEditors for dynamic scripts, templates and DSLs in a Grails application