htmlcom 0.3.1 → 0.3.4
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/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
|