gristlabs_grist-core/app/client/widgets/BaseEditor.js

60 lines
1.8 KiB
JavaScript
Raw Normal View History

/**
* Required parameters:
* @param {RowModel} options.field: ViewSectionField (i.e. column) being edited.
* @param {Object} options.cellValue: The value in the underlying cell being edited.
* @param {String} options.editValue: String to be edited, or undefined to use cellValue.
* @param {Number} options.cursorPos: The initial position where to place the cursor.
* @param {Object} options.commands: Object mapping command names to functions, to enable as part
* of the command group that should be activated while the editor exists.
*/
function BaseEditor(options) {
}
/**
* Called after the editor is instantiated to attach its DOM to the page.
* - cellElem: The element representing the cell that this editor should match
* in size and position. Used by derived classes, e.g. to construct an EditorPlacement object.
*/
BaseEditor.prototype.attach = function(cellElem) {
// No-op by default.
};
/**
* Returns DOM container with the editor, typically present and attached after attach() has been
* called.
*/
BaseEditor.prototype.getDom = function() {
return null;
};
/**
* Called to get the value to save back to the cell.
*/
BaseEditor.prototype.getCellValue = function() {
throw new Error("Not Implemented");
};
/**
* Used if an editor needs preform any actions before a save
*/
BaseEditor.prototype.prepForSave = function() {
// No-op by default.
};
/**
* Called to get the text in the editor, used when switching between editing data and formula.
*/
BaseEditor.prototype.getTextValue = function() {
throw new Error("Not Implemented");
};
/**
* Called to get the position of the cursor in the editor. Used when switching between editing
* data and formula.
*/
BaseEditor.prototype.getCursorPos = function() {
throw new Error("Not Implemented");
};
module.exports = BaseEditor;