UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

199 lines (150 loc) 4.63 kB
/// <reference path="../jquery/jquery.d.ts" /> /// <reference path="SlickGrid.d.ts" /> interface MyData extends Slick.SlickData { title: string; duration: string; percentComplete: number; start: string; finish: string; effortDriven: boolean; } var grid: Slick.Grid<MyData>; var columns: Slick.Column<MyData>[] = [ { id: "title", name: "Title", field: "title" }, { id: "duration", name: "Duration", field: "duration" }, { id: "%", name: "% Complete", field: "percentComplete" }, { id: "start", name: "Start", field: "start" }, { id: "finish", name: "Finish", field: "finish" }, { id: "effort-driven", name: "Effort Driven", field: "effortDriven" } ]; var options: Slick.GridOptions<MyData> = { enableCellNavigation: true, enableColumnReorder: false }; var data: MyData[] = []; for (var i = 0; i < 500; i++) { data[i] = { title: "Task " + i, duration: "5 days", percentComplete: Math.round(Math.random() * 100), start: "01/01/2009", finish: "01/05/2009", effortDriven: (i % 5 == 0) }; } grid = new Slick.Grid<MyData>("#myGrid", data, columns, options); grid.init(); grid.getData(); grid.getDataItem(14).title; grid.setData([{ title: "task", duration: "5 days", percentComplete: 5, start: "01/01/2013", finish: "12/12/2013", effortDriven: false }], true); var ids = []; for (i = 0; i < grid.getDataLength(); i++) { ids.push(grid.getDataItem(i).title); } var $selectedCells = $('.' + grid.getOptions().selectedCellCssClass); grid.getSelectedRows(); grid.getSelectionModel(); grid.setOptions({ selectedCellCssClass: "newSelection" }); grid.setSelectedRows([0]); $('.newSelection'); grid.setSelectedRows([0, 1, 2]); class SingleCellSelectionModel extends Slick.SelectionModel<MyData, Slick.Range[]> { private self: SingleCellSelectionModel = null; private _grid: Slick.Grid<MyData>; constructor() { super(); this.self = this; } public init(grid: Slick.Grid<MyData>) { this.self._grid = grid; this.self._grid.onClick.subscribe(this.self.handleGridClick); } public destroy() { this.self._grid.onClick.unsubscribe(this.self.handleGridClick); } public handleGridClick(e, args) { var cell = this.self._grid.getCellFromEvent(e); if (!cell || !this.self._grid.canCellBeSelected(cell.row, cell.cell)) { return; } this.onSelectedRangesChanged.notify([new Slick.Range(cell.row, cell.cell, cell.row, cell.cell)], new Slick.EventData(), this); } } var selectionModel = new SingleCellSelectionModel(); selectionModel.init(grid); grid.setSelectionModel(selectionModel); var column = grid.getColumns()[grid.getColumnIndex("title")]; var cols = grid.getColumns(); var sortable = cols[0].sortable; sortable ? console.log("It's sortable!") : console.log("It's not sortable!"); var data2 = grid.getColumns(); data2[0].name = "First"; grid.setColumns(data); grid.updateColumnHeader("FirstName", "A First Name"); grid.addCellCssStyles("test", { 0: { "number_column": "cell-bold", "title_column": "cell-title cell-highlighted" }, 4: { "percent_column": "cell-highlighted" } }); grid.canCellBeActive(5, 10); grid.canCellBeSelected(5, 10); grid.editActiveCell(new Slick.Editors.Date<MyData>({ column: cols, container: undefined, grid: grid })); grid.setActiveCell(0, 0); grid.editActiveCell(new Slick.Editors.Date<MyData>({ column: cols, container: undefined, grid: grid })); grid.flashCell(5, 10); grid.flashCell(5, 10, 500); grid.getActiveCell().row; grid.getActiveCell().cell; grid.getActiveCellNode().innerHTML; grid.getActiveCellPosition().bottom; grid.getActiveCellPosition().height; grid.getActiveCellPosition().left; grid.getActiveCellPosition().right; grid.getActiveCellPosition().top; grid.getActiveCellPosition().visible; grid.getActiveCellPosition().width; grid.getCellCssStyles("test")[0]["number_column"]; grid.getCellEditor(); grid.getCellFromEvent(new Slick.Event()); grid.getCellFromPoint(5, 10); grid.getCellNode(5, 10); grid.getCellNodeBox(5, 10); grid.getCellNodeBox(5, 10).bottom; grid.getCellNodeBox(5, 10).height; grid.getCellNodeBox(5, 10).left; grid.getCellNodeBox(5, 10).right; grid.getCellNodeBox(5, 10).top; grid.getCellNodeBox(5, 10).visible; grid.getCellNodeBox(5, 10).width; grid.gotoCell(5, 10); grid.gotoCell(5, 10, true); grid.navigateDown(); grid.navigateLeft(); grid.navigateNext(); grid.navigatePrev(); grid.navigateRight(); grid.navigateUp(); grid.removeCellCssStyles("test"); grid.resetActiveCell(); grid.setActiveCell(5, 10); grid.setCellCssStyles("test", { 0: { "number_column": "cell-bold", "title_column": "cell-title cell-highlighted" }, 4: { "percent_column": "cell-highlighted" } });