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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5c56bbfd02df1b1aa0af4dd6408b34301964015bcefed1a8a6a88b89c98d42d
4
- data.tar.gz: 6dee7c3818848ce0428cfb5b3df0a2c7cf79b5b4139d22fde8389212dd6e7694
3
+ metadata.gz: e96d1c92647c0547a158d8372a2c51c41ccf6d3d22f68adf3546203511bac21f
4
+ data.tar.gz: 228aabfeb413f84de57e9cd1f29491b28c7a515fae798a3259d2531a117c0069
5
5
  SHA512:
6
- metadata.gz: 31bdddd64984e4a344436918bb09e1a79acc0bb58d15a6878f8a0c28afa30da1b3486c7d68bf3464b4288faec8a7c55351f5f6bc33037dd7186bf0deb8be4c92
7
- data.tar.gz: 46dfd28e68b5f40cabfbde02c854b2bfefaf1fbca2b7455945822b5b9635ea0f8ff45bb538130ecc987ae6e80137ab87b4b7f7c3d2dec4910fe37946a0e314ee
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 'elem: ' +elem.inspect
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 = 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, [value.first]]
513
+ [key.to_sym, value]
471
514
  end.to_h
472
515
 
473
- options.each do |key, value|
474
- h[key] << value
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 = {dropdown: HtmlCom::Dropdown, textarea: HtmlCom::Textarea}
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
- obj = klass[type].new content, id: id, label: action + ' ' + id.to_s
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.to_doc.root.xml pretty: true
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.1
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-07-06 00:00:00.000000000 Z
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