Added Fill Down and Blank Down commands.
git-svn-id: http://google-refine.googlecode.com/svn/trunk@1140 7d457c2a-affb-35e4-300a-418c747d4874
This commit is contained in:
parent
3bda9d035d
commit
a8ee9b9e08
21
CHANGES.txt
21
CHANGES.txt
@ -6,18 +6,23 @@ Major Changes:
|
|||||||
- Support for QA on data loads into Freebase.
|
- Support for QA on data loads into Freebase.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- New commands: Transpose Cells in Columns into Rows
|
- New commands:
|
||||||
- New GEL functions: smartSplit
|
- Fill Down
|
||||||
- New GEL controls: forEachIndex, forRange, filter
|
- Blank Down
|
||||||
- New GEL parameters:
|
- Transpose Cells in Columns into Rows
|
||||||
|
- GEL:
|
||||||
|
- New functions: smartSplit
|
||||||
|
- New controls: forEachIndex, forRange, filter
|
||||||
|
- New parameters:
|
||||||
- preserveAllTokens on split function
|
- preserveAllTokens on split function
|
||||||
- New exporters: to RDF (as extension)
|
- Regexp groups capturing GEL function
|
||||||
- In CSV and TSV importers, added support for ignoring quotation marks
|
- Importers
|
||||||
- Regexp groups capturing GEL function
|
- New: RDF exporter (as extension)
|
||||||
|
- CSV and TSV importers: added support for ignoring quotation marks
|
||||||
|
- Added support for creating a project by pointing to a data file URL.
|
||||||
- Text facet's choice count limit is now configurable through preference page
|
- Text facet's choice count limit is now configurable through preference page
|
||||||
- Select All and Unselect All buttons in History Extract dialog
|
- Select All and Unselect All buttons in History Extract dialog
|
||||||
- Schema skeleton: support for multiple cells per cell-as nodes, and for conditional links
|
- Schema skeleton: support for multiple cells per cell-as nodes, and for conditional links
|
||||||
- Added support for creating a project by pointing to a data file URL.
|
|
||||||
|
|
||||||
Fixes:
|
Fixes:
|
||||||
- TSV/CSV exporter bug: Gridworks crashed when there were empty cells.
|
- TSV/CSV exporter bug: Gridworks crashed when there were empty cells.
|
||||||
|
@ -71,6 +71,8 @@ public class GridworksServlet extends Butterfly {
|
|||||||
{"mass-edit", "com.google.gridworks.commands.cell.MassEditCommand"},
|
{"mass-edit", "com.google.gridworks.commands.cell.MassEditCommand"},
|
||||||
{"join-multi-value-cells", "com.google.gridworks.commands.cell.JoinMultiValueCellsCommand"},
|
{"join-multi-value-cells", "com.google.gridworks.commands.cell.JoinMultiValueCellsCommand"},
|
||||||
{"split-multi-value-cells", "com.google.gridworks.commands.cell.SplitMultiValueCellsCommand"},
|
{"split-multi-value-cells", "com.google.gridworks.commands.cell.SplitMultiValueCellsCommand"},
|
||||||
|
{"fill-down", "com.google.gridworks.commands.cell.FillDownCommand"},
|
||||||
|
{"blank-down", "com.google.gridworks.commands.cell.BlankDownCommand"},
|
||||||
{"transpose-columns-into-rows", "com.google.gridworks.commands.cell.TransposeColumnsIntoRowsCommand"},
|
{"transpose-columns-into-rows", "com.google.gridworks.commands.cell.TransposeColumnsIntoRowsCommand"},
|
||||||
|
|
||||||
{"add-column", "com.google.gridworks.commands.column.AddColumnCommand"},
|
{"add-column", "com.google.gridworks.commands.column.AddColumnCommand"},
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.google.gridworks.commands.cell;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import com.google.gridworks.commands.EngineDependentCommand;
|
||||||
|
import com.google.gridworks.model.AbstractOperation;
|
||||||
|
import com.google.gridworks.model.Project;
|
||||||
|
import com.google.gridworks.operations.cell.BlankDownOperation;
|
||||||
|
|
||||||
|
public class BlankDownCommand extends EngineDependentCommand {
|
||||||
|
@Override
|
||||||
|
protected AbstractOperation createOperation(Project project,
|
||||||
|
HttpServletRequest request, JSONObject engineConfig) throws Exception {
|
||||||
|
|
||||||
|
String columnName = request.getParameter("columnName");
|
||||||
|
|
||||||
|
return new BlankDownOperation(
|
||||||
|
engineConfig,
|
||||||
|
columnName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.google.gridworks.commands.cell;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import com.google.gridworks.commands.EngineDependentCommand;
|
||||||
|
import com.google.gridworks.model.AbstractOperation;
|
||||||
|
import com.google.gridworks.model.Project;
|
||||||
|
import com.google.gridworks.operations.cell.FillDownOperation;
|
||||||
|
|
||||||
|
public class FillDownCommand extends EngineDependentCommand {
|
||||||
|
@Override
|
||||||
|
protected AbstractOperation createOperation(Project project,
|
||||||
|
HttpServletRequest request, JSONObject engineConfig) throws Exception {
|
||||||
|
|
||||||
|
String columnName = request.getParameter("columnName");
|
||||||
|
|
||||||
|
return new FillDownOperation(
|
||||||
|
engineConfig,
|
||||||
|
columnName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -8,6 +8,7 @@ import org.json.JSONObject;
|
|||||||
|
|
||||||
import com.google.gridworks.model.AbstractOperation;
|
import com.google.gridworks.model.AbstractOperation;
|
||||||
import com.google.gridworks.model.Project;
|
import com.google.gridworks.model.Project;
|
||||||
|
import com.google.gridworks.operations.cell.FillDownOperation;
|
||||||
import com.google.gridworks.operations.cell.MassEditOperation;
|
import com.google.gridworks.operations.cell.MassEditOperation;
|
||||||
import com.google.gridworks.operations.cell.MultiValuedCellJoinOperation;
|
import com.google.gridworks.operations.cell.MultiValuedCellJoinOperation;
|
||||||
import com.google.gridworks.operations.cell.MultiValuedCellSplitOperation;
|
import com.google.gridworks.operations.cell.MultiValuedCellSplitOperation;
|
||||||
@ -50,6 +51,7 @@ public abstract class OperationRegistry {
|
|||||||
|
|
||||||
register("multivalued-cell-join", MultiValuedCellJoinOperation.class);
|
register("multivalued-cell-join", MultiValuedCellJoinOperation.class);
|
||||||
register("multivalued-cell-split", MultiValuedCellSplitOperation.class);
|
register("multivalued-cell-split", MultiValuedCellSplitOperation.class);
|
||||||
|
register("fill-down", FillDownOperation.class);
|
||||||
register("transpose-columns-into-rows", TransposeColumnsIntoRowsOperation.class);
|
register("transpose-columns-into-rows", TransposeColumnsIntoRowsOperation.class);
|
||||||
|
|
||||||
register("column-addition", ColumnAdditionOperation.class);
|
register("column-addition", ColumnAdditionOperation.class);
|
||||||
|
@ -279,6 +279,15 @@ DataTableColumnHeaderUI.prototype._createMenuForColumnHeader = function(elmt) {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
|
{
|
||||||
|
label: "Fill Down",
|
||||||
|
click: function() { self._doFillDown(); }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Blank Down",
|
||||||
|
click: function() { self._doBlankDown(); }
|
||||||
|
},
|
||||||
|
{},
|
||||||
{
|
{
|
||||||
label: "Split Multi-Valued Cells ...",
|
label: "Split Multi-Valued Cells ...",
|
||||||
click: function() { self._doSplitMultiValueCells(); }
|
click: function() { self._doSplitMultiValueCells(); }
|
||||||
@ -925,6 +934,28 @@ DataTableColumnHeaderUI.prototype._doRenameColumn = function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DataTableColumnHeaderUI.prototype._doFillDown = function() {
|
||||||
|
Gridworks.postProcess(
|
||||||
|
"fill-down",
|
||||||
|
{
|
||||||
|
columnName: this._column.name
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
{ modelsChanged: true }
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
DataTableColumnHeaderUI.prototype._doBlankDown = function() {
|
||||||
|
Gridworks.postProcess(
|
||||||
|
"blank-down",
|
||||||
|
{
|
||||||
|
columnName: this._column.name
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
{ modelsChanged: true }
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
DataTableColumnHeaderUI.prototype._doJoinMultiValueCells = function() {
|
DataTableColumnHeaderUI.prototype._doJoinMultiValueCells = function() {
|
||||||
var separator = window.prompt("Enter separator to use between values", ", ");
|
var separator = window.prompt("Enter separator to use between values", ", ");
|
||||||
if (separator !== null) {
|
if (separator !== null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user