68 lines
1.9 KiB
JavaScript
Executable File
68 lines
1.9 KiB
JavaScript
Executable File
(function ($) {
|
|
|
|
var grid;
|
|
var el, offsetBefore, offsetAfter, dragged;
|
|
|
|
var drag = function(handle, dx, dy) {
|
|
offsetBefore = el.offset();
|
|
$(handle).simulate("drag", {
|
|
dx: dx || 0,
|
|
dy: dy || 0
|
|
});
|
|
dragged = { dx: dx, dy: dy };
|
|
offsetAfter = el.offset();
|
|
}
|
|
|
|
var moved = function (dx, dy, msg) {
|
|
msg = msg ? msg + "." : "";
|
|
var actual = { left: offsetAfter.left, top: offsetAfter.top };
|
|
var expected = { left: offsetBefore.left + dx, top: offsetBefore.top + dy };
|
|
same(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
|
|
}
|
|
|
|
var ROWS = 500, COLS = 10;
|
|
var data = [], row;
|
|
for (var i = 0; i < ROWS; i++) {
|
|
row = { id: "id_" + i };
|
|
for (var j = 0; j < COLS; j++) {
|
|
row["col_" + j] = i + "." + j;
|
|
}
|
|
data.push(row);
|
|
}
|
|
|
|
var cols = [], col;
|
|
for (var i = 0; i < COLS; i++) {
|
|
cols.push({
|
|
id: "col" + i,
|
|
field: "col_" + i,
|
|
name: "col_" + i
|
|
});
|
|
}
|
|
|
|
cols[0].minWidth = 70;
|
|
|
|
grid = new Slick.Grid("#container", data, cols);
|
|
grid.render();
|
|
|
|
module("grid - column resizing");
|
|
|
|
test("minWidth is respected", function () {
|
|
var firstCol = $("#container .slick-header-column:first");
|
|
firstCol.find(".slick-resizable-handle:first").simulate("drag", { dx: 100, dy: 0 });
|
|
firstCol.find(".slick-resizable-handle:first").simulate("drag", { dx: -200, dy: 0 });
|
|
equal(firstCol.outerWidth(), 70, "width set to minWidth");
|
|
});
|
|
|
|
test("onColumnsResized is fired on column resize", function () {
|
|
expect(2);
|
|
grid.onColumnsResized.subscribe(function() { ok(true,"onColumnsResized called") });
|
|
var oldWidth = cols[0].width;
|
|
$("#container .slick-resizable-handle:first").simulate("drag", { dx: 100, dy: 0 });
|
|
equal(cols[0].width, oldWidth+100-1, "columns array is updated");
|
|
});
|
|
|
|
test("getData should return data", function () {
|
|
equal(grid.getData(), data);
|
|
});
|
|
|
|
})(jQuery); |