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 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