mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
7284644313
Summary: - Add custom handling for dblclick on mobile, to allow focusing editor. - In place of Clipboard.js, use a FocusLayer with document.body as the default focus element. - Set maximum-scale on iOS viewport to prevent auto-zoom. - Reposition the editor on window resize when editing a cell, which is a normal occurrence on Android when virtual keyboard is shown. - Add Save/Cancel icon-buttons next to cell editor on mobile. Test Plan: Tested manually on Safari / FF on iPhone, and on Chrome on Android emulator. Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D2721
52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
/**
|
|
* 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.
|
|
};
|
|
|
|
/**
|
|
* 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;
|