g1 issueshttps://code.gramener.com/cto/g1/-/issues2019-01-23T06:08:30Zhttps://code.gramener.com/cto/g1/-/issues/136G1.capture utility to download png screenshots2019-01-23T06:08:30ZTejeshG1.capture utility to download png screenshotsHTML2Canvas if used as a frontend alternative for capturehandler, benefits by:
* Need not reload complete dashboard to download png of a single chart on dashboard
* faster than puppeteer
* can capture charts at detailed interaction leve...HTML2Canvas if used as a frontend alternative for capturehandler, benefits by:
* Need not reload complete dashboard to download png of a single chart on dashboard
* faster than puppeteer
* can capture charts at detailed interaction levels (without having to capture complete application state in url)
* can use g1.capture in project deployments where gramex capturehandler can't be packaged offline.TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/135CaptureHanlder should support SVG output2019-01-23T04:03:44ZSundeep Reddy MalluCaptureHanlder should support SVG output### Summary
We need CaptureHandler to export HIGH resolution images. Add SVG export capability in CaptureHandler
### Benefits
Visual outputs that are exported from Visual story board are currently of low resolution. Taking print copie...### Summary
We need CaptureHandler to export HIGH resolution images. Add SVG export capability in CaptureHandler
### Benefits
Visual outputs that are exported from Visual story board are currently of low resolution. Taking print copies of these is resulting in images being blurred. We need SVG output format that can allow us to render HIGH resolution images. This allows for easier printing and circulation of Visual Storyboard content.
### Usage
Print outs of Visual properties become much readable and shareable.https://code.gramener.com/cto/g1/-/issues/134Backlink g1 release notes from Gramex releases2019-02-03T03:58:58ZBhanu Kbhanu.kamapantula@gramener.comBacklink g1 release notes from Gramex releases### Summary
currently `g1` release notes ship with `Gramex` release notes. Example: [v1.47 notes](https://learn.gramener.com/guide/release/1.47/#g1)
in `g1` repository, changes are visible in [CHANGELOG](https://code.gramener.com/cto/g...### Summary
currently `g1` release notes ship with `Gramex` release notes. Example: [v1.47 notes](https://learn.gramener.com/guide/release/1.47/#g1)
in `g1` repository, changes are visible in [CHANGELOG](https://code.gramener.com/cto/g1/blob/master/CHANGELOG.md). This isn't easy to spot.
Perhaps [v1.47 notes](https://learn.gramener.com/guide/release/1.47/#g1) can be linked in a `Releases` section.
### Benefits
Developers, OSS communityhttps://code.gramener.com/cto/g1/-/issues/133g1.formhandler link:false in a column should disable the link,2019-03-15T05:50:41ZTejeshg1.formhandler link:false in a column should disable the link,* Disable all controls* Disable all controlsS AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/132g1 $search configurable example documentation2022-11-07T09:16:17ZSundeep Reddy Mallug1 $search configurable example documentationg1 $search documentation released as part of 1.49 only points to fuzzy match feature. This issue calls out the need to extend the search capability by configuration (to accommodate additional logic) and share more examples.g1 $search documentation released as part of 1.49 only points to fuzzy match feature. This issue calls out the need to extend the search capability by configuration (to accommodate additional logic) and share more examples.S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/131FormHandler add does not show dropdowns while FormHandler edit does2019-01-25T08:13:24ZS AnandFormHandler add does not show dropdowns while FormHandler edit doesRaised by @sindhura.ch
When using a select for specific columns (see code below):
```yaml
columns: [
{ name: '*' },
{
name: 'user_designation',
editable: {
input: 'select',
...Raised by @sindhura.ch
When using a select for specific columns (see code below):
```yaml
columns: [
{ name: '*' },
{
name: 'user_designation',
editable: {
input: 'select',
options: ['ACMO', 'CDO']
}
},
{ name: 'user_password', hide: true },
{ name: 'actions', template: $('#action-template').html() }
]
```
... the dropdown is visible when we click **Edit** but not when we click **Add**. See screenshots below.
![image](/uploads/b7a550001240a215be070f84c5692499/image.png)
![image](/uploads/794eb9caf9244ff28351c9617fa2c8e0/image.png)TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/129g1.urlfilter does not work for checkboxes2020-06-22T08:16:39ZTejeshg1.urlfilter does not work for checkboxes```html
<li class="state_dropdown" filter-name="state_level" data-val="Odisha">
<label class="custom-control custom-checkbox h5 mb-0 text-nowrap cursor-pointer">
<input type="checkbox" class="custom-control-input urlfilter" d...```html
<li class="state_dropdown" filter-name="state_level" data-val="Odisha">
<label class="custom-control custom-checkbox h5 mb-0 text-nowrap cursor-pointer">
<input type="checkbox" class="custom-control-input urlfilter" data-mode="toggle" data-target="#" checked>
<span class="custom-control-label"></span>
<span class="custom-control-description sm2">Odisha</span>
</label>
</li>
```
is expected to update url and also, toggle the state of checkbox. It does neither.
g1.urlfilter's `e.preventDefault` intrudes bootstrap checkbox events.
Possible solutions:
Apply preventDefault only for anchor tags.
```js
if(e.target.tagName.toLowerCase() === 'a') {
e.preventDefault()
}
```
raised by @naveen.manukonda1.52TejeshTejesh2019-07-31https://code.gramener.com/cto/g1/-/issues/130g1 compatible Browser Version list2019-01-12T11:43:07ZSundeep Reddy Mallug1 compatible Browser Version list### Summary
Evaluate and publish list of compatible Browser version for g1
### Benefits
Establish clear line of communication from Sales, Marketing material and project teams on the compatible browser versions. This will ensure custome...### Summary
Evaluate and publish list of compatible Browser version for g1
### Benefits
Establish clear line of communication from Sales, Marketing material and project teams on the compatible browser versions. This will ensure customers don't have negative experience while using the Data Apps built on top of Gramex.
### Usage
Establish browser version that should be part of our delivery commitment
- Chrome
- Firefox
- Safari
- Microsoft Edge
Perform this action every-time g1 release is pushed.1.49S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/128Add urlchange event to path changes2019-01-11T15:03:06ZPratap Vardhanpratap.vardhan@gramener.comAdd urlchange event to path changesCurrently, `urlchange` detects query changes, would like to detect path changes as well
`#/path1/sub1/?q=1` -> `#/path2/sub2/?q=1`
```javascript
$(window).urlchange()
.on('#/', ... })
```
Also, add a note in the documentation about ...Currently, `urlchange` detects query changes, would like to detect path changes as well
`#/path1/sub1/?q=1` -> `#/path2/sub2/?q=1`
```javascript
$(window).urlchange()
.on('#/', ... })
```
Also, add a note in the documentation about when history changes and when it does not, and how this interacts with the back button.1.49S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/127g1.formhandler calls render on window hashchange event, document usage on SPAs2019-02-07T03:59:08ZPratap Vardhanpratap.vardhan@gramener.comg1.formhandler calls render on window hashchange event, document usage on SPAsOn SPAs, when you rerender the view/formhandler, events attached `$(window).on('hashchange', render)` will still exist. This results in N+1 xhr requests made for data.
What should be recommended/cleaner way to destroy previously attach...On SPAs, when you rerender the view/formhandler, events attached `$(window).on('hashchange', render)` will still exist. This results in N+1 xhr requests made for data.
What should be recommended/cleaner way to destroy previously attached events?1.51Pratap Vardhanpratap.vardhan@gramener.comPratap Vardhanpratap.vardhan@gramener.comhttps://code.gramener.com/cto/g1/-/issues/126Templates should only update changed elements via virtualdom2019-01-04T12:20:52ZS AnandTemplates should only update changed elements via virtualdomThis allows:
- Smooth animation via CSS style updates
- Lower CPU utilization
- Faster DOM updatesThis allows:
- Smooth animation via CSS style updates
- Lower CPU utilization
- Faster DOM updates1.49S AnandS Anandhttps://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)https://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/123formhandler - don't allow both add and edit to happen at the same time2019-01-14T11:28:09ZTejeshformhandler - don't allow both add and edit to happen at the same timeSindhura CHSindhura CHhttps://code.gramener.com/cto/g1/-/issues/122Mapviewer: add removeLayer abstract function2019-02-02T14:38:24ZTejeshMapviewer: add removeLayer abstract functionmap.removeLayer('layerName') must remove 'layerName' layer from map....map.removeLayer('layerName') must remove 'layerName' layer from map....Bharat Rbharath.r@gramener.comBharat Rbharath.r@gramener.comhttps://code.gramener.com/cto/g1/-/issues/121g1.dropdown documentation notes2019-02-02T14:40:04ZPratap Vardhanpratap.vardhan@gramener.comg1.dropdown documentation notes# 1
In a page with `g1.dropdown({ key: 'drop', ... })`, if user open a url with `#?drop=value1`, show code snippet that shows the default dropdown value as `value1`# 1
In a page with `g1.dropdown({ key: 'drop', ... })`, if user open a url with `#?drop=value1`, show code snippet that shows the default dropdown value as `value1`https://code.gramener.com/cto/g1/-/issues/120FormHandler usecases for documentation examples2019-02-05T10:15:17ZPratap Vardhanpratap.vardhan@gramener.comFormHandler usecases for documentation examplesShow examples for
- Have access to fetched data
Show examples for
- Have access to fetched data
1.51TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/119urlchange usage patterns2019-02-16T04:54:14ZPratap Vardhanpratap.vardhan@gramener.comurlchange usage patterns# 1
Currently only single key change is supported `?key=only`
I'd like to capture events for when multiple keys have changed
```
#?key-one&key-two -- AND
#?key-one|key-two -- OR can be handled with chained .on().on()
```
# 2
When ...# 1
Currently only single key change is supported `?key=only`
I'd like to capture events for when multiple keys have changed
```
#?key-one&key-two -- AND
#?key-one|key-two -- OR can be handled with chained .on().on()
```
# 2
When key is removed hash or entirely removed to `#?`, event is not trigger.
This would help to detect reset mode.
# 3
Document how to reset url state to home hash.1.51Karmanya AggarwalKarmanya Aggarwalhttps://code.gramener.com/cto/g1/-/issues/118Mapviewer's buildlayer doesn't support tooltip2019-01-14T11:28:09ZBhanu Kbhanu.kamapantula@gramener.comMapviewer's buildlayer doesn't support tooltip### Summary
tooltip enabled and applied via `buildLayer` doesn't apply
### Steps to reproduce
- use `g1.mapviewer` and create a map via `buildLayer` -- `map.buildLayer('layername', layer_opts)` where map is a `g1.mapviewer()` object a...### Summary
tooltip enabled and applied via `buildLayer` doesn't apply
### Steps to reproduce
- use `g1.mapviewer` and create a map via `buildLayer` -- `map.buildLayer('layername', layer_opts)` where map is a `g1.mapviewer()` object and `layer_opts` are layer options
- one of the attributes in `layer_opts` is `tooltip: function(d) { return d.value; }`
### What is the current *bug* behavior?
Tooltip doesn't show up
### Possible fixes
In [`src/mapviewer.js`](https://code.gramener.com/cto/g1/blob/dev/src/mapviewer.js#L237), do the below:
```javascript
case 'topojson':
case 'geojson':
if() {
...
self.renderTooltip(layerName, layerConfig)
...
} else {
...
self.renderTooltip(layerName, layerConfig)
...
}
```
with this a developer can define
```javascript
tooltip: function(d) {
// console.log(d)
return d[_map_data['metric']] !== undefined ? d[_map_data['metric']].toString() : d[_map_data['metric']];
},
tooltipOptions: {
direction: function (args) {
return args.centerPoint[1] > args.tooltipPoint.x[1] ? 'top' : 'bottom'
},
sticky: true
},
```
note that `tooltipOptions` is optionalBhanu Kbhanu.kamapantula@gramener.comBhanu Kbhanu.kamapantula@gramener.comhttps://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 datasetsTejeshTejesh