g1 issueshttps://code.gramener.com/cto/g1/-/issues2018-07-16T11:25:09Zhttps://code.gramener.com/cto/g1/-/issues/72formhandler: view option for charts2018-07-16T11:25:09ZPratap Vardhanpratap.vardhan@gramener.comformhandler: view option for charts### Summary
With _by option #71 added.
User will have flexibility to construct large number of usecases from formhandler interface. Currently, table view is the default.
It would be useful to have view dropdown on options to select ...### Summary
With _by option #71 added.
User will have flexibility to construct large number of usecases from formhandler interface. Currently, table view is the default.
It would be useful to have view dropdown on options to select chart type.
- After selecting a chart, ex scatterplot, chart options like x, y, size, color, will be automatically selected from dimensions and metrics in naive order.
- User can modify chart options from a modal popup, to select x, y etc.
- url parameters preserve chart options
- For now, charts with minimal/flat options will be supported
- End URL should be shareable/embeddablehttps://code.gramener.com/cto/g1/-/issues/73g1.datafilter must support groupby2018-07-16T11:30:43ZTejeshg1.datafilter must support groupby### Summary
Inline with issues #71 and #72### Summary
Inline with issues #71 and #72https://code.gramener.com/cto/g1/-/issues/76Update forms / Bootstrap fields based on URLs2018-07-03T07:03:19ZS AnandUpdate forms / Bootstrap fields based on URLsIf the URL is `?state=A&district=B&...`, then `$('.my-form').update(url)` should update the inputs (include select, textarea, Bootstrap dropdowns, etc) with matching keys to have the associated values.
For example,
```
<form class="my-...If the URL is `?state=A&district=B&...`, then `$('.my-form').update(url)` should update the inputs (include select, textarea, Bootstrap dropdowns, etc) with matching keys to have the associated values.
For example,
```
<form class="my-form">
<select name="state">...</select>
<input name="district">
</form>
```
... should change to show the state as A and the district as Bhttps://code.gramener.com/cto/g1/-/issues/78Implement a formhandler Tree View2018-12-19T16:08:43ZTejeshImplement a formhandler Tree ViewReferences:
https://docs.webix.com/desktop__treetable.html
https://frappe.io/datatable - Tree View section
https://gramener.invisionapp.com/d/main#/console/13753225/303473425/preview - BMGF project design linkReferences:
https://docs.webix.com/desktop__treetable.html
https://frappe.io/datatable - Tree View section
https://gramener.invisionapp.com/d/main#/console/13753225/303473425/preview - BMGF project design linkhttps://code.gramener.com/cto/g1/-/issues/79Formhandler Plugin mechanism - Datacomb2018-07-16T11:23:46ZTejeshFormhandler Plugin mechanism - DatacombPlugin Mixin to include functionality easily at almost any level.
To start with https://github.com/cmpolis/datacombPlugin Mixin to include functionality easily at almost any level.
To start with https://github.com/cmpolis/datacombhttps://code.gramener.com/cto/g1/-/issues/80g1 datafilter to support PUT, POST, DELETE like requests2018-07-16T10:57:12ZTejeshg1 datafilter to support PUT, POST, DELETE like requestsThe user must be able to download the modified dataset to any exportable format like Excel, Json, HTML etc.,
Mayebe a non-priority issue
Benefits:
* [ ] https://frappe.io/datatable has an inline data editor.
* [ ] If g1 formhandler...The user must be able to download the modified dataset to any exportable format like Excel, Json, HTML etc.,
Mayebe a non-priority issue
Benefits:
* [ ] https://frappe.io/datatable has an inline data editor.
* [ ] If g1 formhandler table has #72 implemented, this gives capability to answer "What if" questions through a visualisation
* [ ] Tejesh can write tests for `Add:`, `Edit:` features. (using node server itself, without gramex server)https://code.gramener.com/cto/g1/-/issues/82Create a dropdown component for filters2019-06-28T06:54:49ZS AnandCreate a dropdown component for filters- [x] Create a $.dropdown() that supports basic dropdown capability
- [x] Extend for multi-select
- [ ] Integrate with FilterHandler for multiple filters
- [ ] Integrate with FilterHandler for heirarchical filters- [x] Create a $.dropdown() that supports basic dropdown capability
- [x] Extend for multi-select
- [ ] Integrate with FilterHandler for multiple filters
- [ ] Integrate with FilterHandler for heirarchical filters1.51https://code.gramener.com/cto/g1/-/issues/83Equals not working in column dropdown in FormHandler table2019-02-27T06:09:46ZNaveen ManukondaEquals not working in column dropdown in FormHandler table- When we search with equals in first page it is working good.
- When we click on second page equals as we had only one search result again we need to click on first page for getting the result. If we have only one search result can we r...- When we search with equals in first page it is working good.
- When we click on second page equals as we had only one search result again we need to click on first page for getting the result. If we have only one search result can we redirect to 1 page in the table.
- Can we clear the filters without updating the URL?
- Please refer to below gif.![formhabdler_table](/uploads/7ae8c6e09d5ba35a3e0918a04e47f17e/formhabdler_table.gif)1.51TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/87$.filterhandler()2019-05-10T06:19:56ZPragnya Reddypragnya.reddy@gramener.com$.filterhandler()### Summary
Create dropdowns with unique values from data.
### Benefits
Gives user ability to generate dropdowns for usage in dashboard using simple config.
### Usage
```html
$('.product-list').filterhandler({
url: 'filters',
co...### Summary
Create dropdowns with unique values from data.
### Benefits
Gives user ability to generate dropdowns for usage in dashboard using simple config.
### Usage
```html
$('.product-list').filterhandler({
url: 'filters',
cols: ['product', 'city']
})
```
This should create two dropdowns with unique values from the columns product and city.
Extending along with the above, `$.filterhandler()` should be able to handle NavBar filters. Navbar filters include daterangepicker, multi/single select dropdowns, dropdowns that filter down items based on parent dropdowns.
The NavBar filters should have easy extension hooks to operate individually updating URL params or only on click on `<form>` Apply button.
The navBar filters component should have overridable template for "Applied filters" boxes with clear button for each value per UI control or clear all applied filters for same UI control
TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/88Show "ALL ROWS" option in dropdown2018-08-13T02:42:52ZTejeshShow "ALL ROWS" option in dropdown![image](/uploads/e5366e680fa9d507df6d2036feb7bb7a/image.png)
raised by @sarad.gurram![image](/uploads/e5366e680fa9d507df6d2036feb7bb7a/image.png)
raised by @sarad.gurramhttps://code.gramener.com/cto/g1/-/issues/89Retain order of columns when `*` is used for column name in config2019-04-22T09:19:19ZTejeshRetain order of columns when `*` is used for column name in configTejesh to write tests to confirm this happens only when `*` is used, and order is retained if `*` is not used.
raised by @sarad.gurramTejesh to write tests to confirm this happens only when `*` is used, and order is retained if `*` is not used.
raised by @sarad.gurramhttps://code.gramener.com/cto/g1/-/issues/92FormHandler Table: master issue2019-04-09T05:59:51ZS AnandFormHandler Table: master issueThese were tested on g1 0.9.0 using this configuration:
```yaml
url:
formhandler:
pattern: /users
handler: FormHandler
kwargs:
url: users.xlsx
id: user
```
- [x] If a table has few rows, allow column dropdown ...These were tested on g1 0.9.0 using this configuration:
```yaml
url:
formhandler:
pattern: /users
handler: FormHandler
kwargs:
url: users.xlsx
id: user
```
- [x] If a table has few rows, allow column dropdown to go below page. Currently it gets chopped off
![image](/uploads/a9c8da00eddf7429dd6404a06a9f3dfa/image.png)
- [x] After delete action, the row is not deleted in the UI, but it is deleted in the backend. Reloading the page refreshes and shows that the row has been deleted.
- [x] In case of an error on the AJAX submission (e.g. a delete action, add action, etc), there error message clears the table. Instead, the error message should be shown above the table. Ideally, this should be a re-usable function. Other custom actions should be able to just call `.alert(msg)` and re-use the same alerting mechanism
- [ ] If $.formhandler does not find jQuery, Bootstrap, etc, show a visible one-time dismissable warning that can be turned off by default
- [ ] Allow exporting as JSON, CSV (in addition to XLSX). This helps users right-click and copy-paste the URL into applications.
![proxy](/uploads/aac9f1f4976f067762a149e85cd698e2/proxy.gif)
- [ ] Deleting an empty primary key in Excel deletes all rows.
![proxy](/uploads/df82ed66aa08ff1b23334fbe1cab5711/proxy.gif)
- [ ] If all rows in table are deleted, we cannot add rows. Maybe because it loses information on what columns exist.
![proxy](/uploads/141c8140da4fbafc742edd03aa491ef5/proxy.gif)
- [ ] Make Add and Edit easier. On Add / Edit:
- [x] move focus to first input `$('input', ...).focus()`. I want to directly start typing
- [ ] give me a cancel option in red `.btn-danger`
- [x] make the Save button green `.btn-success`
- [x] don't allow both add and edit to happen at the same time
- [x] allow shortcut (Enter) to save
- [ ] TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/99$.dropdown, multiple:true causes url to be incompatible with FormHandler filters2018-10-22T04:38:54ZKarmanya Aggarwal$.dropdown, multiple:true causes url to be incompatible with FormHandler filtersBootstrap-select and $.dropdown return a comma seperated string of multiple values -
currently urlfilter/$.dropdown appends this string as is to the url as opposed to splitting it into key=value pairs that FormHandler expects.Bootstrap-select and $.dropdown return a comma seperated string of multiple values -
currently urlfilter/$.dropdown appends this string as is to the url as opposed to splitting it into key=value pairs that FormHandler expects.https://code.gramener.com/cto/g1/-/issues/101Mapviewer: choropleth must support option of refetching and merging datasets2018-10-05T18:24:51ZTejeshMapviewer: choropleth must support option of refetching and merging datasetsUsecase: When geojson files is same but external dataset changes, developer wants to Refresh colors of map only (without rebuilding the whole vector layer)
raised by @bharath.r as part of ceasefire projectUsecase: When geojson files is same but external dataset changes, developer wants to Refresh colors of map only (without rebuilding the whole vector layer)
raised by @bharath.r as part of ceasefire projectTejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/109formhandler table copy/pasteFromClipboard feature2018-11-14T11:37:46ZTejeshformhandler table copy/pasteFromClipboard featureTejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/110edit mode for formhandler table for data: option (non-gramex endpoints)2019-02-07T10:43:22ZTejeshedit mode for formhandler table for data: option (non-gramex endpoints)TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/113Multi-column support2018-12-14T05:16:55ZBhanu Kbhanu.kamapantula@gramener.comMulti-column supportTejesh: alter table to create new columns if the data source is `FormHandler` endpoint else add to `JSON` objectTejesh: alter table to create new columns if the data source is `FormHandler` endpoint else add to `JSON` objectTejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/117Support multiple datasets2019-02-07T10:43:07ZPragnya Reddypragnya.reddy@gramener.comSupport multiple datasets`$.formhandler` should render multiple tables when `data-src` returns multiple datasets`$.formhandler` should render multiple tables when `data-src` returns multiple datasetsTejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/124Data convertor utility2019-02-28T06:49:13ZBhanu Kbhanu.kamapantula@gramener.comData convertor utilityAn utility to convert/transform data structures from one way to another is much needed.
Use case: I've a CSV that can I use to create a bar chart. Using the same for a sunburst layout will need data structure manipulation, a skill restr...An utility to convert/transform data structures from one way to another is much needed.
Use case: I've a CSV that can I use to create a bar chart. Using the same for a sunburst layout will need data structure manipulation, a skill restricted to developers.
Impact on: chart interface. Non developers will be able to create suitable data structures for different charts.
Even for a larger data community this is a useful feature as currently none exist.https://code.gramener.com/cto/g1/-/issues/125Implement a FormHandler form editor2019-02-07T10:42:47ZS AnandImplement a FormHandler form editorAllow users to design a form that updates a single row. Use this to
- edit rows
- as a modal, a separate section, or as an iframe
- rapidly flip between rows using submit / keyboard navigation
- learn from data already typed to ease the...Allow users to design a form that updates a single row. Use this to
- edit rows
- as a modal, a separate section, or as an iframe
- rapidly flip between rows using submit / keyboard navigation
- learn from data already typed to ease the process of filling the form
- support automated columns (e.g. updated time, editor)