rbbt-rest 1.8.57 → 1.8.58

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 670376b8fffcf1f42a9349e4d1c68b1c50a4ed99
4
- data.tar.gz: c318aef5f05444056d9931be33c573f266c46b45
3
+ metadata.gz: 114a1a6d890aa4e7fe21cb1559197c259dfbd0e9
4
+ data.tar.gz: 9702d3726a39dc13a1ca94bfc4c0c70a8ce5fa5d
5
5
  SHA512:
6
- metadata.gz: a6a1f1f47c9a9ad952d47da514b6a542b716990093b39c386c9a98d629dd8521fb05a9bed4fd0f70b17ee47b154f04acfa6a92762daba08e0ca0eab8c4924870
7
- data.tar.gz: 20e6265e6555d27f0922185c287666a10dce67495f9016e51ca6bb9ee9ff2076227acbc90e4b9b49ab519833808dce2ee5aa56575410b10662d2538fbed32e1f
6
+ metadata.gz: 2e7067cc90ae02fb314db91c478442a8c5623aef250509828419e5b03ab6e9440fdeded8bcb9a7784ad103cd9511e7ba956bc73930d4a5e8c63a470679234360
7
+ data.tar.gz: 3617a5fd71a8418d89e1f2340fe7405d1fb06954b23d3832f3b90e9b36f16b3d448255229cc467086d050a7b080a6e19ea2d7e086c9f53d31294684bbbbcbbc1
@@ -101,6 +101,32 @@ module RbbtRESTHelpers
101
101
  fragment_file = step.file(@fragment)
102
102
  if File.exists?(fragment_file)
103
103
  case @format.to_s
104
+ when "query-entity"
105
+ tsv, table_options = load_tsv(fragment_file, true)
106
+ begin
107
+ res = tsv[@entity].to_json
108
+ content_type "application/json"
109
+ rescue
110
+ res = nil.to_json
111
+ end
112
+ halt 200, res
113
+ when "query-entity-field"
114
+ tsv, table_options = load_tsv(fragment_file, true)
115
+ begin
116
+ res = tsv[@entity]
117
+ res = [res] if tsv.type == :single or tsv.type == :flat
118
+ rescue
119
+ res = nil.to_json
120
+ end
121
+
122
+ fields = tsv.fields
123
+ content_type "application/json"
124
+ hash = {}
125
+ fields.each_with_index do |f,i|
126
+ hash[f] = res.nil? ? nil : res[i]
127
+ end
128
+
129
+ halt 200, hash.to_json
104
130
  when "table"
105
131
  halt 200, tsv2html(fragment_file)
106
132
  when "json"
@@ -109,6 +109,9 @@ module RbbtRESTHelpers
109
109
  @filter = consume_parameter :_filter
110
110
  @column = consume_parameter :_column
111
111
 
112
+ # TSV table query
113
+ @entity = consume_parameter :_entity
114
+
112
115
  # Fix boolean inputs sumbitted using checkboxes
113
116
  params.keys.each do |param|
114
117
  if param =~ /(.*)_checkbox_false$/
@@ -356,10 +356,12 @@ module RbbtRESTHelpers
356
356
  RbbtRESTHelpers.save_tsv(file)
357
357
  end
358
358
 
359
-
360
-
361
- def self.load_tsv(file)
362
- tsv = TSV.open(Open.open(file))
359
+ def self.load_tsv(file, persist = false)
360
+ if persist
361
+ tsv = TSV.open(Open.open(file), :persist => true, :persist_file => file + '.persist')
362
+ else
363
+ tsv = TSV.open(Open.open(file))
364
+ end
363
365
 
364
366
  table_options = File.exists?(file + '.table_options') ? YAML.load_file(file + '.table_options') : {}
365
367
  tsv.entity_options = table_options[:tsv_entity_options]
@@ -369,8 +371,8 @@ module RbbtRESTHelpers
369
371
  [tsv, table_options]
370
372
  end
371
373
 
372
- def load_tsv(file)
373
- RbbtRESTHelpers.load_tsv(file)
374
+ def load_tsv(*args)
375
+ RbbtRESTHelpers.load_tsv(*args)
374
376
  end
375
377
 
376
378
  def table(options = {})
@@ -120,9 +120,6 @@ module EntityRESTHelpers
120
120
 
121
121
  render(template_file, locals, layout_file, "Action #{ action } for map: #{ id }")
122
122
  end
123
-
124
-
125
-
126
123
  end
127
124
 
128
125
 
@@ -1,5 +1,6 @@
1
1
  rbbt.mlog = function(data){
2
2
  console.log(data)
3
+ return data
3
4
  }
4
5
 
5
6
  // AJAX
@@ -23,7 +23,7 @@ rbbt.plots.aes.map_aesthetic = function(aes, mapper, map_obj){
23
23
  else
24
24
  aes = map_obj[aes]
25
25
  }
26
- return get_sign_gradient(aes, '#EABD5D', 'grey', '#40324F')
26
+ return get_sign_gradient(aes, '#EABD5D', '#DDD', '#40324F')
27
27
  case 'map':
28
28
  if (typeof aes == 'object')
29
29
  return aes.map(function(value){ if (value !== undefined && value != null ) value = value.toString(); return map_obj[value] })
@@ -94,6 +94,35 @@ rbbt.plots.aes.get_properties = function(list, rules, type, namespace){
94
94
  }
95
95
  }
96
96
 
97
+ if (rule.query){
98
+ var fragment = rule.query
99
+ var field = rule.field
100
+ if (undefined === name && ! undefined === field){ name = field }
101
+ if (undefined === name){ name = fragment }
102
+
103
+ var url = main_url
104
+ url = add_parameter(url, '_fragment', fragment)
105
+
106
+ if (field){
107
+ url = add_parameter(url, '_format', 'query-entity-field')
108
+ url = add_parameter(url, '_field', field)
109
+ }else{
110
+ url = add_parameter(url, '_format', 'query-entity')
111
+ }
112
+
113
+ var ajax_promises = list.codes.map(function(code){
114
+ var deferred = m.deferred()
115
+ rbbt.ajax({url: add_parameter(url, '_entity', code)}).then(deferred.resolve)
116
+ return deferred.promise
117
+ })
118
+
119
+ promise = m.sync(ajax_promises)
120
+
121
+ if ('string' === typeof field ){
122
+ promise = promise.then(function(values){ return values.map(function(v){ if (null === v){ return null }else{ return v[field] } }) })
123
+ }
124
+ }
125
+
97
126
  if (rule.subset){
98
127
  var deferred = m.deferred()
99
128
  var inclusion = list.codes.map(function(code){ if (rule.subset.indexOf(code) < 0){ return "false"} else { return "true" } })
@@ -249,7 +249,7 @@ rbbt.plots.graph.view_d3js_graph = function(graph_model, elem, node_obj){
249
249
  }
250
250
 
251
251
  rbbt.plots.graph.view_mithril = function(graph_model, elem, container_obj, produce_obj){
252
- rbbt.plots.graph.update(graph_model).then(function(updated_model){
252
+ return rbbt.plots.graph.update(graph_model).then(function(updated_model){
253
253
  var obj = $(elem)[0]
254
254
  var component = {view: rbbt.curry(rbbt.plots.mithril, graph_model, container_obj, produce_obj)}
255
255
  rbbt.mount(obj, component)
@@ -11,5 +11,7 @@ rbbt.plots.mithril = function(graph_model, container_obj, produce_obj){
11
11
  obj_by_type[type] = objs
12
12
  })
13
13
 
14
- return container_obj(graph_model, obj_by_type)
14
+ var container = m('.mitrhil', {config: function(){ update_dom() }}, container_obj(graph_model, obj_by_type))
15
+
16
+ return container
15
17
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.57
4
+ version: 1.8.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-15 00:00:00.000000000 Z
11
+ date: 2017-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake