diff --git a/CHANGES.txt b/CHANGES.txt index f2fa4fa1c..d909cd7aa 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -19,6 +19,7 @@ Fixes: Supported by the function facetCount() - Issue 14: "Limiting Freebase load to starred records" We load whatever rows that are filtered through, not particularly starred rows. +- Issue 49: "Add Edit Cells / Set Null" Features: - Row/record sorting (Issue 32) diff --git a/src/main/java/com/metaweb/gridworks/gel/Parser.java b/src/main/java/com/metaweb/gridworks/gel/Parser.java index d4a8bcf91..d0ccc5de4 100644 --- a/src/main/java/com/metaweb/gridworks/gel/Parser.java +++ b/src/main/java/com/metaweb/gridworks/gel/Parser.java @@ -165,7 +165,7 @@ public class Parser { next(false); if (_token == null || _token.type != TokenType.Delimiter || !_token.text.equals("(")) { - eval = new VariableExpr(text); + eval = "null".equals(text) ? new LiteralExpr(null) : new VariableExpr(text); } else { Function f = ControlFunctionRegistry.getFunction(text); Control c = ControlFunctionRegistry.getControl(text); diff --git a/src/main/java/com/metaweb/gridworks/operations/cell/TextTransformOperation.java b/src/main/java/com/metaweb/gridworks/operations/cell/TextTransformOperation.java index 192ebfbeb..421535bbc 100644 --- a/src/main/java/com/metaweb/gridworks/operations/cell/TextTransformOperation.java +++ b/src/main/java/com/metaweb/gridworks/operations/cell/TextTransformOperation.java @@ -141,7 +141,12 @@ public class TextTransformOperation extends EngineDependentMassCellOperation { ExpressionUtils.bind(bindings, row, rowIndex, _columnName, cell); Object o = eval.evaluate(bindings); - if (o != null) { + if (o == null) { + if (oldValue != null) { + CellChange cellChange = new CellChange(rowIndex, cellIndex, cell, null); + cellChanges.add(cellChange); + } + } else { if (o instanceof Cell) { newCell = (Cell) o; } else if (o instanceof WrappedCell) { diff --git a/src/main/webapp/scripts/views/data-table-column-header-ui.js b/src/main/webapp/scripts/views/data-table-column-header-ui.js index 523269a25..f545303b9 100644 --- a/src/main/webapp/scripts/views/data-table-column-header-ui.js +++ b/src/main/webapp/scripts/views/data-table-column-header-ui.js @@ -271,6 +271,10 @@ DataTableColumnHeaderUI.prototype._createMenuForColumnHeader = function(elmt) { { label: "To Lowercase", click: function() { self._doTextTransform("toLowercase(value)", "store-blank", false, ""); } + }, + { + label: "To Blank", + click: function() { self._doTextTransform("null", "store-blank", false, ""); } } ] },