diff --git a/src/sensei-grid.js b/src/sensei-grid.js index a65f032..2e4233d 100644 --- a/src/sensei-grid.js +++ b/src/sensei-grid.js @@ -275,7 +275,6 @@ plugin.setRowSaved = function ($row) { $row.removeClass("sensei-grid-dirty-row").removeClass("sensei-grid-empty-row"); $row.find(">td").data("saved", true); - $row.animate({backgroundColor: '#FF0000'}, 'slow'); }; plugin.deactivateCell = function () { diff --git a/test/newRowSpec.js b/test/newRowSpec.js index 463f5b9..ea780d7 100644 --- a/test/newRowSpec.js +++ b/test/newRowSpec.js @@ -19,8 +19,10 @@ describe("sensei-grid new row", function () { // remove grid wrapper after each test afterEach(function () { - grid.destroy(); - grid = null; + if (grid !== null) { + grid.destroy(); + grid = null; + } }); it("should render new empty row at the end of table if setting is enabled", function () { @@ -79,4 +81,28 @@ describe("sensei-grid new row", function () { expect($(".sensei-grid>table>tbody>tr.sensei-grid-empty-row").length).toBe(1); expect($(".sensei-grid>table>tbody>tr").length).toBe(12); }); + + it("should trigger row:save event", function (done) { + // render grid + grid = $el.grid(data, columns, {emptyRow: true}); + grid.registerEditor(BasicEditor); + grid.render(); + + var $cell = $(".sensei-grid>table>tbody>tr:last>td:first"); + + // listen to row:save event and test returned values + grid.events.on("row:save", function (data, $row, source) { + expect(data).toEqual({id: "test", created_at: "", status: "", title: "", count: NaN}); + expect($row.get()).toEqual($cell.parent("tr").get()); + expect(source).toEqual("editor:close"); + done(); + }); + + // add some content to an empty row's cell + $cell.trigger("dblclick"); + $(".sensei-grid-editor input").val("test"); + + // trigger editor:close event that would further trigger row:save event + $cell.next().trigger("click"); + }); }); \ No newline at end of file