g1 issueshttps://code.gramener.com/cto/g1/-/issues2019-01-23T04:03:44Zhttps://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/108Mapviewer - drilldown and tooltip bugfixes2019-01-16T04:23:13ZTejeshMapviewer - drilldown and tooltip bugfixesTejeshTejeshhttps://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/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/112Highlight/Log name mismatches for data and map files2019-01-14T11:28:09ZBhanu Kbhanu.kamapantula@gramener.comHighlight/Log name mismatches for data and map files### Summary
Highlighting mismatches in data and map files. In the below map, the name mismatches (J&K and Telangana) are silently ignored and not notified for the user
![map_screenshot__4_.svg](/uploads/de47ae8bef948e9b65ef7eab7facb21b...### Summary
Highlighting mismatches in data and map files. In the below map, the name mismatches (J&K and Telangana) are silently ignored and not notified for the user
![map_screenshot__4_.svg](/uploads/de47ae8bef948e9b65ef7eab7facb21b/map_screenshot__4_.svg)Bharat Rbharath.r@gramener.comBharat Rbharath.r@gramener.comhttps://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/33Implement G1 search filter2019-01-11T10:13:42ZTejeshImplement G1 search filter## $.search
Highlight elements by searching as you type.
Example:
### $.search attributes
`.search` triggers use these attributes:
- `data-toggle="search"`
Currently, search is mentioned in Readme but feature is not available.## $.search
Highlight elements by searching as you type.
Example:
### $.search attributes
`.search` triggers use these attributes:
- `data-toggle="search"`
Currently, search is mentioned in Readme but feature is not available.1.49S AnandS Anandhttps://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/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/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/111remove dev dependencies from package.json2018-12-08T00:58:30ZTejeshremove dev dependencies from package.jsonjust a reminder!just a reminder!1.47TejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/81Build Kepler.gl like interface for mapviewer component2018-12-02T05:29:51ZTejeshBuild Kepler.gl like interface for mapviewer componentTejeshTejeshhttps://code.gramener.com/cto/g1/-/issues/116Allow loading multiple pages via AJAX2018-11-27T03:51:26ZS AnandAllow loading multiple pages via AJAX### Summary
Create a `$.ajaxchain()` that allows chaining AJAX requests flexibly
### Benefits
- Lets you load FormHandler pages successively with a single call
- Loads multiple pages of data from APIs (e.g. YouTube, Twitter, etc) easily### Summary
Create a `$.ajaxchain()` that allows chaining AJAX requests flexibly
### Benefits
- Lets you load FormHandler pages successively with a single call
- Loads multiple pages of data from APIs (e.g. YouTube, Twitter, etc) easily1.46S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/115g1 template should support list creation2018-11-24T09:00:01ZS Anandg1 template should support list creation### Summary
`$().template()` replaces the target DOM element. Allow it to append to the target DOM element.
### Benefits
This helps in creating lists that can be extended. For example:
- Repeated AJAX loads append data to the target ...### Summary
`$().template()` replaces the target DOM element. Allow it to append to the target DOM element.
### Benefits
This helps in creating lists that can be extended. For example:
- Repeated AJAX loads append data to the target node
- Successive notifications can be appended to the target node
### Usage
`$().template({}, {append: true})` should enable this behavior.1.46S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/114Support for latitude, longitude points as input2018-11-22T06:42:55ZBhanu Kbhanu.kamapantula@gramener.comSupport for latitude, longitude points as inputusers should be able to use `Lat-Long` points instead of `GeoJSON` or `TopoJSON` as input
Ref: leaflet supports a [`latLngToCoords`](https://leafletjs.com/reference-1.3.4.html#geojson-latlngtocoords) methodusers should be able to use `Lat-Long` points instead of `GeoJSON` or `TopoJSON` as input
Ref: leaflet supports a [`latLngToCoords`](https://leafletjs.com/reference-1.3.4.html#geojson-latlngtocoords) methodhttps://code.gramener.com/cto/g1/-/issues/107Trigger simple hashchange events2018-11-16T14:40:57ZS AnandTrigger simple hashchange events### Summary
When the URL hash changes, trigger a `#?key` event on the window.
### Benefits
This makes it easier for developers to write URL-driven applications.
To change state, just add `<a href="#?key=val" class="urlfilter" data-ta...### Summary
When the URL hash changes, trigger a `#?key` event on the window.
### Benefits
This makes it easier for developers to write URL-driven applications.
To change state, just add `<a href="#?key=val" class="urlfilter" data-target="#">`
To respond to state, don't use `$('a').on('click')`. Instead, use `$(window).on('#?key')`.
### Usage
For example, if the URL changes from `/page` to `/page#?state=Goa`, you can listen to `$(window).on('#?state', function(state) { ... })` will be triggered with `Goa` as the `state`.
It will also trigger `$(window).on('#?', function(url) { ... })` where `url` is a g1 parsed URL.
To enable this, just run `$(window).urlchange(options)`.
Instead of `window`, we can run this on iframes and any other urlfilter target too.1.46S AnandS Anandhttps://code.gramener.com/cto/g1/-/issues/94FormHandler table: column dropdown2018-11-14T11:40:43ZS AnandFormHandler table: column dropdownAllow columns to contain a `<select>` instead of `<input>` to constrain values based on a pre-defined or data-driven listAllow columns to contain a `<select>` instead of `<input>` to constrain values based on a pre-defined or data-driven listhttps://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/97package leaflet.css as part of mapviewer.js2018-11-14T11:34:58ZTejeshpackage leaflet.css as part of mapviewer.js6 out of 7 developers who I know has worked with mapviewer wasted decent chunk of time in debugging partially working maps because `<link src="leaflet.css">` file is not added to index.html6 out of 7 developers who I know has worked with mapviewer wasted decent chunk of time in debugging partially working maps because `<link src="leaflet.css">` file is not added to index.htmlTejeshTejesh