{"id":13426732,"url":"https://github.com/datazenit/sensei-grid","last_synced_at":"2026-02-22T11:35:27.195Z","repository":{"id":20221148,"uuid":"23492868","full_name":"datazenit/sensei-grid","owner":"datazenit","description":"Simple and lightweight data grid in JS/HTML","archived":false,"fork":false,"pushed_at":"2019-10-31T10:54:42.000Z","size":3140,"stargazers_count":821,"open_issues_count":12,"forks_count":51,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-02-27T05:07:17.057Z","etag":null,"topics":["data","data-table","datagrid","grid","javascript","jqery","lodash","underscore"],"latest_commit_sha":null,"homepage":"https://datazenit.com/static/sensei-grid/examples/index.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datazenit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-30T14:05:13.000Z","updated_at":"2025-01-07T14:40:37.000Z","dependencies_parsed_at":"2022-08-30T18:21:59.789Z","dependency_job_id":null,"html_url":"https://github.com/datazenit/sensei-grid","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datazenit%2Fsensei-grid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datazenit%2Fsensei-grid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datazenit%2Fsensei-grid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datazenit%2Fsensei-grid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datazenit","download_url":"https://codeload.github.com/datazenit/sensei-grid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243792602,"owners_count":20348675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","data-table","datagrid","grid","javascript","jqery","lodash","underscore"],"created_at":"2024-07-31T00:01:43.003Z","updated_at":"2025-10-22T15:53:13.419Z","avatar_url":"https://github.com/datazenit.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Sensei Grid [![Build Status](https://travis-ci.org/datazenit/sensei-grid.svg?branch=master)](https://travis-ci.org/datazenit/sensei-grid)\n\nSimple data grid library written in JavaScript. The data grid is part of [Datazenit](http://datazenit.com), a web-based database administration tool.\n\nDependencies: jQuery and underscore.js/lodash. The example in this repository also uses Twitter Bootstrap for default styles.\n\n## Demo and Screenshot\n\nDemo: http://datazenit.com/static/sensei-grid/examples/index.html\n\n[![Sensei Grid Screenshot](http://lauris.github.io/images/blog/sensei-grid-screenshot.png)](http://datazenit.com/static/sensei-grid/examples/index.html)\n\n## Goals\n\n* **Simplicity**: Sensei Grid will be a single purpose data grid without unrelated functionality.\n* **Small code base**: Bloatware and dirty workarounds/hacks will be avoided as much as possible to keep the code base small and tidy.\n* **Extensibility**: Even though Sensei Grid will be kept simple, we will put serious effort to make it easy to extend and customize.\n* **Stability**: Sensei Grid is backed by [Datazenit](http://datazenit.com), meaning that the project is financially supported and will be constantly maintained and improved.\n\n## Installation\n\nThe simplest way to get all necessary files is via bower: ``bower install sensei-grid``.\nIf you don't want to use bower, just download an archive from the [latest release page](https://github.com/datazenit/sensei-grid/releases) or clone the whole repository.\n\nWhen you have obtained a copy of Sensei Grid, you must include all dependecies, sensei-grid.js and sensei-grid.css.\nSensei Grid depends on jQuery and lodash/underscore.js. For your convenience all dependecies can be found in ``lib/`` folder.\n\n*Warning:* By default Sensei Grid does not apply any styles to the table. It means that you need to create your own\nstylesheet or you can just use bootstrap.css as shown in the example below.\n\n```html\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"dist/css/sensei-grid.css\"/\u003e\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"lib/bootstrap/dist/css/bootstrap.min.css\"/\u003e\n\n\u003cscript src=\"lib/jquery/dist/jquery.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"lib/lodash/lodash.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"dist/sensei-grid.js\"\u003e\u003c/script\u003e\n```\n\n\n## Basic Usage\n\nDefine your data array. Each row is represented by an object.\n\n```js\nvar data = [\n    {id: 1, title: \"test\"},\n    {id: 2, title: \"foo bar\"}\n];\n```\n\nCurrently it is mandatory to define columns in a separate array for Sensei Grid to work\n\n```js\nvar columns = [\n    {name: \"id\", type: \"string\"},\n    {name: \"title\", type: \"string\"}\n];\n```\n\nInitialize grid with data and columns\n\n```js\nvar grid = $(\".example\").grid(data, columns);\n```\n\nRegister at least one editor (BasicEditor is bundled with Sensei Grid)\n\n```js\ngrid.registerEditor(BasicEditor);\n```\n\nRender data grid in ``.example`` container.\n\n```js\ngrid.render();\n```\n\n## Bundled editors\n\nBy default Sensei Grid is bundled with several grid editors that can be registered for a data grid.\n\nList of available editors:\n\n- BasicEditor - simple text field to edit basic data\n- BooleanEditor - checkbox editor for boolean values (true/false)\n- TextareaEditor - large text field for editing large text\n- SelectEditor - dropdown select box to choose a value from a list\n- DateEditor - datetime editor to choose a specific date from a calendar, provided by pickadate.js\n- DisabledEditor - sample editor that can't be edited\n- [new] AutocompleteEditor - text field with autocomplete support, based on typeahead.js\n\n## Blog posts\n\n* [Work and open source #2: Sensei Grid](http://lauris.github.io/datazenit/2014/08/29/open-source-work-2-sensei-grid/)\n* [First public release of Sensei Grid](http://lauris.github.io/development/2014/09/03/first-public-release-sensei-grid/)\n* [Sensei Grid Roadmap](http://lauris.github.io/development/2014/09/04/sensei-grid-roadmap/)\n* [Sensei Grid Daily Overview](http://lauris.github.io/development/2014/09/05/sensei-grid-daily-overview/)\n\n## Roadmap\n\nPlanned for the upcoming releases:\n\n* ~~Delete/duplicate row keyboard shortcut~~\n* ~~New row support~~\n* ~~Event callbacks (e.g., save, load, render)~~\n* ~~Field types (e.g., string, int, float)~~\n* Optional column definition (if the structure of data is simple, assume default column settings)\n* ~~Firefox compatibility issues~~\n* More configuration parameters for grid\n* ~~Example editor for specific field types~~ (an example select box editor can be found in examples/example.js)\n* Touch support for mobile devices\n* ~~Column sorting callbacks~~\n* Column resizing (to be discussed)\n* ~~Implement undo/redo (to be discussed)~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatazenit%2Fsensei-grid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatazenit%2Fsensei-grid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatazenit%2Fsensei-grid/lists"}