# Refactor Frame UI: Make visual / raw result consistent

**URL:** https://discuss.dgraph.io/t/refactor-frame-ui-make-visual-raw-result-consistent/8033
**Category:** Ratel
**Tags:** ratel, status:accepted
**Created:** [February 25, 2020, 5:32pm UTC](https://discuss.dgraph.io/t/refactor-frame-ui-make-visual-raw-result-consistent/8033 "2020-02-25T17:32:27Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![diggy](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/diggy/32/3666_2.png) [@diggy](https://discuss.dgraph.io/u/diggy)
#### Post date: [February 25, 2020, 5:32pm UTC](https://discuss.dgraph.io/t/refactor-frame-ui-make-visual-raw-result-consistent/8033/1 "2020-02-25T17:32:27Z")

</div>

**Moved from GitHub [ratel/170](https://github.com/dgraph-io/ratel/issues/170)**

_Posted by_ [paulftw](https://github.com/paulftw):

Mutation result has following tabs: Message, JSON, Request, Geo (should be removed separately)  
Query result has following tabs: Graph, JSON, Request, Geo

Message and Graph serve almost same purpose: visual representation of the JSON response.  
Graph, Geo (and upcoming timeline) are just submodes of this visual representation, specific to the type response data.

It is thus logical to unify naming and behavior of the result tabs

1. visually: consistent naming, moving different visualizations as sub controls of the visual tab
2. in the code: code that handles frame results, query debug data, active tab is far from clean, adding a logical abstraction to guide how data is stored in redux and mapped to components will help clean it up
