Replace jqGrid
From LimeSurvey Manual
We want to replace jQgrid with another similar jQuery library.
Why?
- Hard to exactly control and style the HTML, e.g. wrap something with a span tag
- Not maintained since the license changed
- ...more?
Wanted features
- Sort by column
- Inline edit or pop-up edit
- Pop-up dialog should handle CActiveForm and model rules validation
- Edit single cell in-line?
- Massive actions, e.g. marking 10 elements and delete all
- Fetch using Ajax
- Filter and/or search
- Pagination
- NB: There's a conflict between real-time filter and pagination. If nr of rows is very large, loading of complete table will take long time.
- NB of NB : not with ajax : see response table in 2.06 (and maybe in 2.50). All grid filter and sort must be done in ajax. Columns*Number of row to show is the only issue. But if user ask 500 on a 500 columns : yes it's long ... wand we can not fix it.
- GPL or MIT license (or another free licence like a speech)
- i18n
Suggestions
- handsontable, https://handsontable.com/
- Antifeature :
- Filter data + Header tooltips + Fixing bottom rows are unfree
- Features:
- Mass-editing using excel-like table. Use-case: "A typical use case is receiving a lengthy list of text adjustments and typos that should be fixed. having all survey questions in a single table with e.g. each row a question and col1=question text, col2=help text, col3=answer1, col4=answer, ... would be very helpful. One can edit all details as needed and then you only need to click save once"
- Antifeature :
- datatables, https://www.datatables.net/
- Antifeature :
- inline edit are not free
- Features
- Sort by column : https://www.datatables.net/examples/basic_init/multi_col_sort.html
- Fetch using Ajax : https://www.datatables.net/examples/ajax/
- Filter : http://datatables.net/examples/api/multi_filter.html
- Pagination : included
- i18n : https://datatables.net/plug-ins/i18n/
- Antifeature :
- Yii included GridView
- http://www.yiiplayground.com/index.php?r=UiModule/dataview/gridView
- Started in https://github.com/LimeSurvey/LimeSurvey/pull/460
- Features
- Filter by model : http://www.yiiframework.com/doc/api/1.1/CGridView#filter-detail , model can extend attribute.
- bootstrap-table http://bootstrap-table.wenzhixin.net.cn/
- Antifeature
- Features
Other notes
CPDB
CPDB uses jQgrid to open up - within the table - possibilities to edit attributes and surveys for one participant. This should probably be a dialog instead.
Dialog or inline
- Actual edit in token don't update link. And we have issue with some control. A dialog edit fix this 2 issue more easily.
- Alterantive : use http://www.appelsiini.net/projects/jeditable (still think dioalog editor is the best)