shul 0.4.6 → 0.4.7
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/shul.rb +56 -7
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67349df56c834799f3417d3eec3549d63cbf7b5c
|
4
|
+
data.tar.gz: ceb297f840b5358759e8a167fe04ef73104580f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ae48b1b570d875955d912de7d7a54bca72dfc3684353ea44d3bbc34f6592aa04e3e42943711b47b882f819f91f10fe280b97af7b1a4008d2d7455b41a8c29ca
|
7
|
+
data.tar.gz: b0255670d5015bc56719e4e0bef96b4360008bc948c4ae68c013aa1c41b97793cc8b157ec1bc6f1c6bcc7fd65635016ce292ce1555182a6fa8055c4824d8fc0a
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/shul.rb
CHANGED
@@ -41,6 +41,8 @@ Shul::Main.new Shoes, doc
|
|
41
41
|
|
42
42
|
# modifications
|
43
43
|
#
|
44
|
+
# 10-Aug-2017: feature: A Textbox element can now be created dynamically
|
45
|
+
# e.g. txt = e.create_element('textbox'); e.append_child txt
|
44
46
|
# 09-Aug-2017: feature: onkeypress() now implemented.
|
45
47
|
# Listboxes can now be rendered. Radiogroup events now functional
|
46
48
|
# Textbox implementation is now functional.
|
@@ -65,16 +67,19 @@ Shul::Main.new Shoes, doc
|
|
65
67
|
# * tested using the green_shoes gem.
|
66
68
|
|
67
69
|
|
68
|
-
|
69
70
|
require 'domle'
|
70
71
|
|
71
72
|
|
72
|
-
|
73
73
|
module RexleObject
|
74
74
|
refine Rexle::Element do
|
75
|
+
|
76
|
+
@obj = nil
|
77
|
+
@obj_children = []
|
75
78
|
|
76
79
|
def obj() @obj end
|
77
|
-
def obj=(obj) @obj = obj end
|
80
|
+
def obj=(obj) @obj = obj end
|
81
|
+
def obj_children() @obj_children end
|
82
|
+
def obj_children=(obj) @obj_children = obj end
|
78
83
|
|
79
84
|
end
|
80
85
|
end
|
@@ -96,9 +101,16 @@ module Shul
|
|
96
101
|
|
97
102
|
|
98
103
|
class Shule < Domle
|
104
|
+
|
105
|
+
attr_accessor :callback
|
99
106
|
|
100
107
|
class Box < Element
|
101
108
|
attr2_accessor *%i(background-color margin padding)
|
109
|
+
|
110
|
+
def append_child(obj)
|
111
|
+
self.add obj
|
112
|
+
@rexle.callback.add_element(self, obj)
|
113
|
+
end
|
102
114
|
|
103
115
|
end
|
104
116
|
|
@@ -106,7 +118,6 @@ module Shul
|
|
106
118
|
attr2_accessor *%i(width height)
|
107
119
|
|
108
120
|
end
|
109
|
-
|
110
121
|
|
111
122
|
class App < Component
|
112
123
|
|
@@ -142,10 +153,25 @@ module Shul
|
|
142
153
|
|
143
154
|
end
|
144
155
|
|
145
|
-
class Textbox < Component
|
156
|
+
class Textbox < Component
|
146
157
|
|
158
|
+
attr2_accessor *%i(id value size)
|
159
|
+
|
160
|
+
def initialize(name='textbox', attributes: nil, rexle: nil)
|
161
|
+
super(name, attributes: {value: '', size: '40'}, rexle: rexle)
|
162
|
+
end
|
147
163
|
end
|
148
164
|
|
165
|
+
|
166
|
+
def create_element(type)
|
167
|
+
|
168
|
+
h = {
|
169
|
+
textbox: Shul::Shule::Textbox.new
|
170
|
+
}
|
171
|
+
|
172
|
+
h[type.to_sym]
|
173
|
+
end
|
174
|
+
|
149
175
|
def inspect()
|
150
176
|
"#<Shule:%s>" % [self.object_id]
|
151
177
|
end
|
@@ -274,6 +300,8 @@ module Shul
|
|
274
300
|
end
|
275
301
|
end
|
276
302
|
|
303
|
+
doc.callback = shul
|
304
|
+
|
277
305
|
end
|
278
306
|
|
279
307
|
def reload()
|
@@ -315,7 +343,7 @@ module Shul
|
|
315
343
|
|
316
344
|
@doc.root.elements.each do |x|
|
317
345
|
method(x.name.sub(':','_').to_sym).call(x) unless x.name == 'script'
|
318
|
-
end
|
346
|
+
end
|
319
347
|
|
320
348
|
@doc.root.xpath('script').each {|x| script x }
|
321
349
|
|
@@ -328,6 +356,17 @@ module Shul
|
|
328
356
|
end
|
329
357
|
|
330
358
|
end
|
359
|
+
|
360
|
+
def add_element(node, x)
|
361
|
+
|
362
|
+
node.obj = method(x.name.sub(':','_').to_sym).call(x)
|
363
|
+
refresh()
|
364
|
+
|
365
|
+
end
|
366
|
+
|
367
|
+
def refresh
|
368
|
+
@shoes.flush
|
369
|
+
end
|
331
370
|
|
332
371
|
private
|
333
372
|
|
@@ -519,10 +558,20 @@ module Shul
|
|
519
558
|
|
520
559
|
def e.value=(v)
|
521
560
|
self.attributes[:value] = v
|
522
|
-
self.obj.replace v
|
561
|
+
self.obj.replace v
|
523
562
|
end
|
524
563
|
|
525
564
|
end
|
565
|
+
|
566
|
+
def render_elements()
|
567
|
+
|
568
|
+
#@shoes.clear
|
569
|
+
@doc.root.elements.each do |x|
|
570
|
+
method(x.name.sub(':','_').to_sym).call(x) unless x.name == 'script'
|
571
|
+
end
|
572
|
+
end
|
573
|
+
|
574
|
+
alias reload render_elements
|
526
575
|
|
527
576
|
def location=(source)
|
528
577
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shul
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
t8eGazfn6KO3ECwm0DI6ZG6K+/TPPHv8HXfONWq0oGmvwamHXWjcz3hCa5hZw0Vt
|
32
32
|
+vU993j3UFViMQ==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2017-08-
|
34
|
+
date: 2017-08-09 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: domle
|
metadata.gz.sig
CHANGED
Binary file
|