rbbt-rest 1.8.57 → 1.8.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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