mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Ignore leading whitespace in formulas, and strip out leading '=' sign users might add
Summary:
This addresses two issues, differently:
- For a formula with leading whitespace, like " 1+1", it is stored as is, but
is fixed to work (it should be valid Python, and whitespace is only stripped out
at parsing time to avoid intentation errors caused by the way it gets parsed)
- For a formula with a leading equals-sign ("="), it is stripped out on the
client side before the formula is stored. Grist documentation uses leading
"=" to indicate formulas (because UI shows an "=" icon), and Excel formulas
actually contain the leading "=", so it is a common mistake to include it.
Test Plan: Added new test cases
Reviewers: jarek
Reviewed By: jarek
Differential Revision: https://phab.getgrist.com/D3873
This commit is contained in:
@@ -175,7 +175,10 @@ export class FormulaEditor extends NewBaseEditor {
|
||||
}
|
||||
|
||||
public getCellValue() {
|
||||
return this._formulaEditor.getValue();
|
||||
const value = this._formulaEditor.getValue();
|
||||
// Strip the leading "=" sign, if any, in case users think it should start the formula body (as
|
||||
// it does in Excel, and because the equal sign is also used for formulas in Grist UI).
|
||||
return (value[0] === '=') ? value.slice(1) : value;
|
||||
}
|
||||
|
||||
public getTextValue() {
|
||||
|
||||
Reference in New Issue
Block a user