gc-graphson-text-plugin is a gremlin-console plugin that displays text output instead of json. This makes the console ressemble the TinkerPop gremlin console.
npm install gc-graphson-text-plugin
You will also need to add this jar to your Gremlin server path. Do this by adding the file in <gremlin-server-home>/ext/gremlinbin-plugin/plugin/
. Then load it by adding the following to your gremlin-server.yaml
configuration file :
# ...
plugins:
- dmill.gremlinbin
# ...
serializers:
- { className: com.dmill.GBPlugin.serializers.ConsoleAndGraphSONMessageSerializerV1d0, config: { useMapperFromGraph: graph }} # application/gremlinbin
import GremlinConsole from 'gremlin-console';
import GCGraphSONTextPlugin from 'gc-graphson-text-plugin';
//create a console + input combo by passing css selectors to GremlinConsole
const gc = GremlinConsole('#console-window', '#console-input');
gc.register(GCGraphSONTextPlugin()); //register the plugin
It is not recomended that you do this as this is relatively heavy. gremlin-console
and gc-graphson-text-plugin
will contain duplicate dependencies (though they shouldn't conflict). However it is a possible use case.
<head>
<!-- ... -->
<link rel="stylesheet" type="text/css" href="umd/css/default.css">
<script src="path-to-umd/gremlin-console.min.js"></script>
<script src="path-to-umd/gc-graphson-text-plugin.min.js"></script>
</head>
//create a console + input combo by passing css selectors to GremlinConsole
var gc = GremlinConsole.create('#console-window', '#console-input');
gc.register(GCGraphSONTextPlugin.init()); //register the plugin
It is possible to switch between the two outputs manualy. The plugin will actually include the JSON response in the console with it's visibility toggled off. For example :
<div id="window">
<div class="port-section">
<div class="port-query">g.V().limit(1).valueMap()<div>
<div class="port-response text"><!-- text/console output here --><div>
<div class="port-response json" style="display:none;"><!-- hidden graphSON/JSON output here --><div>
</div>
</div>
You can simply hide/show whichever output you desire. In jQuery this could look like :
$("#window .port-response.text").hide();
$("#window .port-response.json").show();