labimotion 1.2.0.0 → 1.2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/labimotion/utils/import_utils.rb +22 -16
- data/lib/labimotion/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85459b416735dd8702c2764bd1ff996855ddfaf37c8b037737c7cf5dbb9403a4
|
4
|
+
data.tar.gz: 8e659ab1b570a0d91dfd0e047720ddde4872eb8a3320c65500bd6b00e8be6e9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de6f3f92718a41d4d2a7bb4b7b3547c5a4996ea2e008beb3936e36d5606cabc5d1f6e73bf8525c9f0d306ff9af92d59eb08fce8d9e1fd6f0efcdd233f2bced33
|
7
|
+
data.tar.gz: bad917552004d85e0ad14091f32f599b7edda626561b099917a65c5bf2b2e6a7b2611e37782127a1b5a81bf1ed463435d3d4f1d4782d694dc4b19f2ee5e2ba0a
|
@@ -36,7 +36,7 @@ module Labimotion
|
|
36
36
|
value
|
37
37
|
end
|
38
38
|
|
39
|
-
def proc_assign_sample(value, sample)
|
39
|
+
def proc_assign_sample(value, sample, element)
|
40
40
|
return {} if sample.nil?
|
41
41
|
|
42
42
|
value = {} if value.nil? || value.is_a?(String)
|
@@ -45,13 +45,16 @@ module Labimotion
|
|
45
45
|
value['el_tip'] = sample.short_label
|
46
46
|
value['el_label'] = sample.short_label
|
47
47
|
value['el_svg'] = sample.get_svg_path
|
48
|
+
if element&.class&.name == Labimotion::Prop::L_ELEMENT && sample&.class&.name == Labimotion::Prop::SAMPLE
|
49
|
+
Labimotion::ElementsSample.find_or_create_by(element_id: element.id, sample_id: sample.id)
|
50
|
+
end
|
48
51
|
value
|
49
52
|
rescue StandardError => e
|
50
53
|
Labimotion.log_exception(e)
|
51
54
|
value
|
52
55
|
end
|
53
56
|
|
54
|
-
def proc_assign_element(value, element)
|
57
|
+
def proc_assign_element(value, element, _parent = nil)
|
55
58
|
return {} if element.nil?
|
56
59
|
|
57
60
|
value = {} if value.nil? || value.is_a?(String)
|
@@ -59,6 +62,9 @@ module Labimotion
|
|
59
62
|
value['el_type'] = 'element' if value['el_type'].nil?
|
60
63
|
value['el_tip'] = element.short_label
|
61
64
|
value['el_label'] = element.short_label
|
65
|
+
if _parent&.class&.name == Labimotion::Prop::L_ELEMENT && element&.class&.name == Labimotion::Prop::L_ELEMENT
|
66
|
+
Labimotion::ElementsElement.find_or_create_by(parent_id: _parent.id, element_id: element.id)
|
67
|
+
end
|
62
68
|
value
|
63
69
|
rescue StandardError => e
|
64
70
|
Labimotion.log_exception(e)
|
@@ -92,20 +98,20 @@ module Labimotion
|
|
92
98
|
properties
|
93
99
|
end
|
94
100
|
|
95
|
-
def proc_table_sample(properties, data, instances, svalue, key, tidx, vdx, col_id)
|
101
|
+
def proc_table_sample(properties, data, instances, svalue, key, tidx, vdx, col_id, element)
|
96
102
|
return properties unless id = svalue.fetch('el_id', nil)
|
97
103
|
|
98
104
|
# orig_s = data.fetch(Labimotion::Prop::SAMPLE, nil)&.fetch(svalue['el_id'], nil)
|
99
105
|
sample = instances.fetch(Labimotion::Prop::SAMPLE, nil)&.fetch(id, nil)
|
100
106
|
val = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][tidx]['sub_values'][vdx][col_id]['value']
|
101
|
-
properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][tidx]['sub_values'][vdx][col_id]['value'] = proc_assign_sample(val, sample)
|
107
|
+
properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][tidx]['sub_values'][vdx][col_id]['value'] = proc_assign_sample(val, sample, element)
|
102
108
|
properties
|
103
109
|
rescue StandardError => e
|
104
110
|
Labimotion.log_exception(e)
|
105
111
|
properties
|
106
112
|
end
|
107
113
|
|
108
|
-
def proc_table_prop(layer, key, data, instance, properties, field, tidx, type)
|
114
|
+
def proc_table_prop(layer, key, data, instance, properties, field, tidx, type, element)
|
109
115
|
fields = field[Labimotion::Prop::SUBFIELDS].select { |ss| ss['type'] == type }
|
110
116
|
return properties if fields.nil?
|
111
117
|
|
@@ -125,7 +131,7 @@ module Labimotion
|
|
125
131
|
when Labimotion::FieldType::DRAG_MOLECULE
|
126
132
|
properties = proc_table_molecule(properties, data, svalue, key, tidx, vdx, col_id)
|
127
133
|
when Labimotion::FieldType::DRAG_SAMPLE
|
128
|
-
properties = proc_table_sample(properties, data, instance, svalue, key, tidx, vdx, col_id)
|
134
|
+
properties = proc_table_sample(properties, data, instance, svalue, key, tidx, vdx, col_id, element)
|
129
135
|
end
|
130
136
|
end
|
131
137
|
end
|
@@ -136,14 +142,14 @@ module Labimotion
|
|
136
142
|
end
|
137
143
|
end
|
138
144
|
|
139
|
-
def self.proc_sample(layer, key, data, instances, properties)
|
145
|
+
def self.proc_sample(layer, key, data, instances, properties, element)
|
140
146
|
fields = layer[Labimotion::Prop::FIELDS].select { |ss| ss['type'] == Labimotion::FieldType::DRAG_SAMPLE }
|
141
147
|
fields.each do |field|
|
142
148
|
idx = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS].index(field)
|
143
149
|
id = field["value"] && field["value"]["el_id"] unless idx.nil?
|
144
150
|
sample = instances.fetch(Labimotion::Prop::SAMPLE, nil)&.fetch(id, nil)
|
145
151
|
val = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value']
|
146
|
-
val = proc_assign_sample(val, sample)
|
152
|
+
val = proc_assign_sample(val, sample, element)
|
147
153
|
properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value'] = val
|
148
154
|
end
|
149
155
|
properties
|
@@ -152,7 +158,7 @@ module Labimotion
|
|
152
158
|
raise
|
153
159
|
end
|
154
160
|
|
155
|
-
def self.proc_element(layer, key, data, instances, properties, elements)
|
161
|
+
def self.proc_element(layer, key, data, instances, properties, elements, element)
|
156
162
|
fields = layer[Labimotion::Prop::FIELDS].select { |ss| ss['type'] == Labimotion::FieldType::DRAG_ELEMENT }
|
157
163
|
fields.each do |field|
|
158
164
|
idx = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS].index(field)
|
@@ -162,7 +168,7 @@ module Labimotion
|
|
162
168
|
properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value'] = {}
|
163
169
|
else
|
164
170
|
val = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value']
|
165
|
-
val = proc_assign_element(val, att_el)
|
171
|
+
val = proc_assign_element(val, att_el, element)
|
166
172
|
properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value'] = val
|
167
173
|
end
|
168
174
|
end
|
@@ -225,14 +231,14 @@ module Labimotion
|
|
225
231
|
end
|
226
232
|
|
227
233
|
|
228
|
-
def self.proc_table(layer, key, data, instance, properties)
|
234
|
+
def self.proc_table(layer, key, data, instance, properties, element)
|
229
235
|
fields = layer[Labimotion::Prop::FIELDS].select { |ss| ss['type'] == Labimotion::FieldType::TABLE }
|
230
236
|
fields&.each do |field|
|
231
237
|
tidx = layer[Labimotion::Prop::FIELDS].index(field)
|
232
238
|
next unless field['sub_values'].present? && field[Labimotion::Prop::SUBFIELDS].present?
|
233
239
|
|
234
|
-
proc_table_prop(layer, key, data, instance, properties, field, tidx, Labimotion::FieldType::DRAG_MOLECULE)
|
235
|
-
proc_table_prop(layer, key, data, instance, properties, field, tidx, Labimotion::FieldType::DRAG_SAMPLE)
|
240
|
+
proc_table_prop(layer, key, data, instance, properties, field, tidx, Labimotion::FieldType::DRAG_MOLECULE, element)
|
241
|
+
proc_table_prop(layer, key, data, instance, properties, field, tidx, Labimotion::FieldType::DRAG_SAMPLE, element)
|
236
242
|
end
|
237
243
|
properties
|
238
244
|
rescue StandardError => e
|
@@ -246,9 +252,9 @@ module Labimotion
|
|
246
252
|
layer = properties[Labimotion::Prop::LAYERS][key]
|
247
253
|
properties = proc_molecule(layer, key, data, properties)
|
248
254
|
properties = proc_upload(layer, key, data, instances, attachments, elmenet)
|
249
|
-
properties = proc_sample(layer, key, data, instances, properties)
|
250
|
-
properties = proc_element(layer, key, data, instances, properties, elements) # unless elements.nil?
|
251
|
-
properties = proc_table(layer, key, data, instances, properties)
|
255
|
+
properties = proc_sample(layer, key, data, instances, properties, elmenet)
|
256
|
+
properties = proc_element(layer, key, data, instances, properties, elements, elmenet) # unless elements.nil?
|
257
|
+
properties = proc_table(layer, key, data, instances, properties, elmenet)
|
252
258
|
end
|
253
259
|
properties
|
254
260
|
rescue StandardError => e
|
data/lib/labimotion/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: labimotion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.
|
4
|
+
version: 1.2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chia-Lin Lin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-03-
|
12
|
+
date: 2024-03-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|