Contains the text of the document. Document can be attached to several EditSessions.

At its core, Documents are just an array of strings, with each row in the document matching up to the array index.

Constructors

Creates a new Document. If text is included, the Document contains those strings; otherwise, it's empty.

Creates a new Document. If text is included, the Document contains those strings; otherwise, it's empty.

Arguments

textString | Array

Required. The starting text

Events

    • Document.on("change", function(Object e))

Fires whenever the document changes.

Fires whenever the document changes.

Several methods trigger different "change" events. Below is a list of each action type, followed by each property that's also available:

Arguments

eObject

Required. Contains at least one property called "action". "action" indicates the action that triggered the change. Each action also has a set of additional properties.

Methods

    • Document.applyDeltas(Object deltas)

Applies all the changes previously accumulated. These can be either 'includeText', 'insertLines', 'removeText', and 'removeLines'.

Applies all the changes previously accumulated. These can be either 'includeText', 'insertLines', 'removeText', and 'removeLines'.

Arguments

deltasObject

Required.

Creates a new Anchor to define a floating point in the document.

Creates a new Anchor to define a floating point in the document.

Arguments

rowNumber

Required. The row number to use

columnNumber

Required. The column number to use

    • Document.getAllLines()

Returns all lines in the document as string array.

Returns all lines in the document as string array. Warning: The caller should not modify this array!

    • Document.getLength()

Returns the number of rows in the document.

Returns the number of rows in the document.

    • Document.getLine(Number row)

Returns a verbatim copy of the given line as it is in the document

Returns a verbatim copy of the given line as it is in the document

Arguments

rowNumber

Required. The row index to retrieve

Returns an array of strings of the rows between firstRow and lastRow. This function is inclusive of lastRow.

Returns an array of strings of the rows between firstRow and lastRow. This function is inclusive of lastRow.

Arguments

firstRowNumber

Required. The first row index to retrieve

lastRowNumber

Required. The final row index to retrieve

    • Document.getNewLineCharacter()

Returns the newline character that's being used, depending on the value of newLineMode.

Returns the newline character that's being used, depending on the value of newLineMode.

    • Document.getNewLineMode()

Returns the type of newlines being used; either windows, unix, or auto

Returns the type of newlines being used; either windows, unix, or auto

    • Document.getTextRange(Range range)

Given a range within the document, this function returns all the text within that range as a single string.

Given a range within the document, this function returns all the text within that range as a single string.

Arguments

rangeRange

Required. The range to work with

    • Document.getValue()

Returns all the lines in the document as a single string, split by the new line character.

Returns all the lines in the document as a single string, split by the new line character.

Converts an index position in a document to a {row, column} object.

Converts an index position in a document to a {row, column} object.

Index refers to the "absolute position" of a character in the document. For example:

var x = 0; // 10 characters, plus one for newline
var y = -1;

Here, y is an index 15: 11 characters for the first row, and 5 characters until y in the second.

Arguments

indexNumber

Required. An index to convert

startRowNumber

Required. =0 The row from which to start the conversion

Inserts a block of text and the indicated position.

Inserts a block of text and the indicated position.

Arguments

positionObject

Required. The position to start inserting at

textString

Required. A chunk of text to insert

Inserts text into the position at the current row. This method also triggers the 'change' event.

Inserts text into the position at the current row. This method also triggers the 'change' event.

Arguments

positionObject

Required. The position to insert at

textString

Required. A chunk of text

Inserts the elements in lines into the document, starting at the row index given by row. This method also triggers the 'change' event.

Inserts the elements in lines into the document, starting at the row index given by row. This method also triggers the 'change' event.

Arguments

rowNumber

Required. The index of the row to insert at

linesArray

Required. An array of strings

Inserts a new line into the document at the current row's position. This method also triggers the 'change' event.

Inserts a new line into the document at the current row's position. This method also triggers the 'change' event.

Arguments

positionObject

Required. The position to insert at

    • Document.isNewLine(String text)

Returns true if text is a newline character (either \r\n, \r, or \n).

Returns true if text is a newline character (either \r\n, \r, or \n).

Arguments

textString

Required. The text to check

Converts the {row, column} position in a document to the character's index.

Converts the {row, column} position in a document to the character's index.

Index refers to the "absolute position" of a character in the document. For example:

var x = 0; // 10 characters, plus one for newline
var y = -1;

Here, y is an index 15: 11 characters for the first row, and 5 characters until y in the second.

Arguments

posObject

Required. The {row, column} to convert

startRowNumber

Required. =0 The row from which to start the conversion

Removes the range from the document.

Removes the range from the document.

Arguments

rangeRange

Required. A specified Range to remove

Removes the specified columns from the row. This method also triggers the 'change' event.

Removes the specified columns from the row. This method also triggers the 'change' event.

Arguments

rowNumber

Required. The row to remove from

startColumnNumber

Required. The column to start removing at

endColumnNumber

Required. The column to stop removing at

Removes a range of full lines. This method also triggers the 'change' event.

Removes a range of full lines. This method also triggers the 'change' event.

Arguments

firstRowNumber

Required. The first row to be removed

lastRowNumber

Required. The last row to be removed

    • Document.removeNewLine(Number row)

Removes the new line between row and the row immediately following it. This method also triggers the 'change' event.

Removes the new line between row and the row immediately following it. This method also triggers the 'change' event.

Arguments

rowNumber

Required. The row to check

Replaces a range in the document with the new text.

Replaces a range in the document with the new text.

Arguments

rangeRange

Required. A specified Range to replace

textString

Required. The new text to use as a replacement

    • Document.revertDeltas(Object deltas)

Reverts any changes previously applied. These can be either 'includeText', 'insertLines', 'removeText', and 'removeLines'.

Reverts any changes previously applied. These can be either 'includeText', 'insertLines', 'removeText', and 'removeLines'.

Arguments

deltasObject

Required.

    • Document.setNewLineMode(String newLineMode)

Sets the new line mode.

Sets the new line mode.

Arguments

newLineModeString

Required. The newline mode to use; can be either windows, unix, or auto

    • Document.setValue(String text)

Replaces all the lines in the current Document with the value of text.

Replaces all the lines in the current Document with the value of text.

Arguments

textString

Required. The text to use