htmlcom 0.3.1 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/htmlcom.rb +68 -11
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e96d1c92647c0547a158d8372a2c51c41ccf6d3d22f68adf3546203511bac21f
|
4
|
+
data.tar.gz: 228aabfeb413f84de57e9cd1f29491b28c7a515fae798a3259d2531a117c0069
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b16a5343918b17349de476895f189c2623543dfae67b5963ff479389032c34ea1477c4d63dd437d9c083ac9039c04d60e1338767f35093fb3f86faa5cdc0840
|
7
|
+
data.tar.gz: 9192e38cad6df5088947398a7f42be5fb42c6f5468f0c7ebb61c4f8c40a9de87e9b1fb352dbd70a4bac0bb25d22870caa4380f8aca9dd1047fd37f4b27d59845
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/htmlcom.rb
CHANGED
@@ -335,11 +335,14 @@ EOF
|
|
335
335
|
|
336
336
|
def initialize(obj)
|
337
337
|
|
338
|
+
puts 'about to build object: ' + obj.inspect
|
338
339
|
@doc = build(obj)
|
339
340
|
puts '@doc.xml : ' + @doc.xml.inspect
|
341
|
+
|
340
342
|
if @id then
|
343
|
+
puts '@tag, @html -> ' + [@tag, @htmltag].inspect
|
341
344
|
elem = @doc.root.element(@tag + '/' + @htmltag)
|
342
|
-
puts '
|
345
|
+
puts 'elem2: ' +elem.inspect
|
343
346
|
elem.attributes[:name] = @id
|
344
347
|
elem.attributes[:id] = @id
|
345
348
|
end
|
@@ -354,7 +357,14 @@ EOF
|
|
354
357
|
@doc
|
355
358
|
end
|
356
359
|
|
360
|
+
def to_html()
|
361
|
+
html_element.xml pretty: true
|
362
|
+
end
|
363
|
+
|
364
|
+
private
|
365
|
+
|
357
366
|
def build(rawobj)
|
367
|
+
puts 'rawobj: ' + rawobj.inspect
|
358
368
|
obj = rawobj.is_a?(Hash) ? RexleBuilder.new(rawobj).to_a : rawobj
|
359
369
|
Rexle.new(obj)
|
360
370
|
end
|
@@ -365,6 +375,7 @@ EOF
|
|
365
375
|
|
366
376
|
def initialize(rawobj)
|
367
377
|
|
378
|
+
puts '@tag: ' + @tag.inspect
|
368
379
|
if @label then
|
369
380
|
|
370
381
|
obj = [{label: @label}, rawobj]
|
@@ -427,6 +438,35 @@ EOF
|
|
427
438
|
|
428
439
|
end
|
429
440
|
|
441
|
+
|
442
|
+
class Text < InputElement
|
443
|
+
|
444
|
+
def initialize(value='', text: value, label: nil, id: nil)
|
445
|
+
|
446
|
+
@tag = 'text'
|
447
|
+
@htmltag = 'input'
|
448
|
+
@id = id
|
449
|
+
@label = label
|
450
|
+
super( [@htmltag, {type: 'text', value: text}])
|
451
|
+
puts 'Text: after super'
|
452
|
+
end
|
453
|
+
|
454
|
+
end
|
455
|
+
|
456
|
+
|
457
|
+
class Hidden < InputElement
|
458
|
+
|
459
|
+
def initialize(value='', text: value, id: nil, label: nil)
|
460
|
+
|
461
|
+
@tag = 'hidden'
|
462
|
+
@htmltag = 'input'
|
463
|
+
@id = id
|
464
|
+
super( [@htmltag, {type: 'hidden', value: text}])
|
465
|
+
|
466
|
+
end
|
467
|
+
|
468
|
+
end
|
469
|
+
|
430
470
|
class Form < Element
|
431
471
|
|
432
472
|
def initialize(inputs=nil, id: nil, method: :get, action: '')
|
@@ -443,6 +483,11 @@ EOF
|
|
443
483
|
|
444
484
|
end
|
445
485
|
|
486
|
+
def add_submit()
|
487
|
+
submit = Rexle.new(['input', {type: 'submit', value: 'Submit'}])
|
488
|
+
html_element().add submit
|
489
|
+
end
|
490
|
+
|
446
491
|
end
|
447
492
|
|
448
493
|
|
@@ -454,11 +499,9 @@ EOF
|
|
454
499
|
|
455
500
|
class FormBuilder
|
456
501
|
|
457
|
-
|
458
|
-
|
459
502
|
def initialize(inputs: {}, options: {}, id: 'form1', method: :get, action: '', debug: false)
|
460
503
|
|
461
|
-
@debug
|
504
|
+
@debug = debug
|
462
505
|
|
463
506
|
h = inputs.map do |key, value|
|
464
507
|
|
@@ -467,35 +510,49 @@ EOF
|
|
467
510
|
puts 'klass: ' + value.first.inspect
|
468
511
|
end
|
469
512
|
|
470
|
-
[key,
|
513
|
+
[key.to_sym, value]
|
471
514
|
end.to_h
|
472
515
|
|
473
|
-
options
|
474
|
-
|
516
|
+
if options then
|
517
|
+
options.each do |key, value|
|
518
|
+
h[key.to_sym] << value
|
519
|
+
end
|
475
520
|
end
|
476
521
|
|
477
|
-
klass = {
|
522
|
+
klass = {
|
523
|
+
dropdown: HtmlCom::Dropdown,
|
524
|
+
textarea: HtmlCom::Textarea,
|
525
|
+
text: HtmlCom::Text,
|
526
|
+
hidden: HtmlCom::Hidden
|
527
|
+
}
|
478
528
|
|
479
529
|
@form = HtmlCom::Form.new(id: id, method: method, action: action)
|
480
530
|
|
481
531
|
h.each do |key, value|
|
482
532
|
|
483
533
|
id = key
|
534
|
+
puts 'value: ' + value.inspect
|
484
535
|
type, content = value
|
485
|
-
action = case type
|
536
|
+
action = case type.to_sym
|
486
537
|
when :dropdown
|
538
|
+
content = value.last
|
487
539
|
'Select'
|
488
540
|
else
|
489
541
|
'Enter'
|
490
542
|
end
|
491
543
|
|
492
|
-
|
544
|
+
puts 'type: ' + type.inspect
|
545
|
+
obj = klass[type.to_sym].new content, id: id, label: action + ' ' + id.to_s
|
546
|
+
puts 'after klass'
|
493
547
|
|
494
548
|
obj.to_doc.root.element(type.to_s).elements.each do |e|
|
495
549
|
@form.html_element.add e
|
496
550
|
end
|
497
551
|
|
498
552
|
end
|
553
|
+
|
554
|
+
@form.add_submit
|
555
|
+
|
499
556
|
end
|
500
557
|
|
501
558
|
def to_doc()
|
@@ -503,7 +560,7 @@ EOF
|
|
503
560
|
end
|
504
561
|
|
505
562
|
def to_html()
|
506
|
-
@form.
|
563
|
+
@form.to_html
|
507
564
|
end
|
508
565
|
|
509
566
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: htmlcom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
JNdZs/7/k4vQlgqYQ3HnoA6GgIanmCgNkediqllxv/epLyIkW2DSJGcYXM8QjSEk
|
37
37
|
+4RQ8UHDCOWHpFPlT5Pgc0wPc7KyXosRYHg=
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date: 2022-
|
39
|
+
date: 2022-08-06 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: jsmenubuilder
|
metadata.gz.sig
CHANGED
Binary file
|