glimmer-dsl-web 0.10.0 → 0.10.1

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: 2f64cd1a4155afc8688d37c70266a28288ae80473332c9dc2bb0dbf01d81b590
4
- data.tar.gz: 51ff57301add3f920f5a0425bb4817659bdcddf77882591313f76693906a6116
3
+ metadata.gz: ef597116fc763e29269c604996c84cd52e30788ef04c799cc39c5c599762e96d
4
+ data.tar.gz: aaebc4caeb56cf94acaf81b59bd8854d73e7a4ff4e943ebe811431f042df656e
5
5
  SHA512:
6
- metadata.gz: 90d5df27de10596eccf5c052863b7dbf8552400c1e4f7d31870c2ba7f8b762faa082ef0566555cd920d7b5bb20640e85462cfb70373f6d7f77ee4605a8cf8dbe
7
- data.tar.gz: 309cd017bc28c4934fa72d1b9ba13e3f692740b147f40834bf6cc8740bf20a4136eca39388f58cfffc2c8efbe930c8424dd1122b68ae011181cad9a3ab161b76
6
+ metadata.gz: 8cc956e1aebd99dbccfbc1ffa037227b86e87cd985d0ae41fe5d2a7da1bd37641178f8f4f4445c4f84e9e567c23480ddabed77b9bf0f68da8ee01ff025ba9545
7
+ data.tar.gz: c98b9ed6629354054c23cc23b42cb8e1496eec246f6baacf5e6f51d4a84041c06fd36586ba8f2756e066e941413a53e950bb269326d84c7e1a5716ccb775abc7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.10.1
4
+
5
+ - Support auto-converting HTML element value when set via HTML attributes (kwargs)
6
+ - Simplify Hello, Input Date/Time Data-Binding! sample by setting value via HTML attributes (kwargs) instead of properties (nested method call)
7
+
3
8
  ## 0.10.0
4
9
 
5
10
  - Ensure auto-formatting date/time/datetime/week/month values from date/time/datetime objects even without data-binding
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Web 0.10.0 (Beta)
1
+ # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Web 0.10.1 (Beta)
2
2
  ## Ruby-in-the-Browser Web Frontend Framework
3
3
  ### The "Rails" of Frontend Frameworks!!! ([Fukuoka Award Winning](https://andymaleh.blogspot.com/2025/01/glimmer-dsl-for-web-wins-in-fukuoka.html))
4
4
  #### Finally, Ruby Developer Productivity, Happiness, and Fun in the Frontend!!!
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.0
1
+ 0.10.1
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: glimmer-dsl-web 0.10.0 ruby lib
5
+ # stub: glimmer-dsl-web 0.10.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "glimmer-dsl-web".freeze
9
- s.version = "0.10.0".freeze
9
+ s.version = "0.10.1".freeze
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
@@ -192,7 +192,7 @@ module Glimmer
192
192
  # @ancestor_component is the one tied to this component-internal element as an ancestor
193
193
  @ancestor_component = Component.interpretation_stack.last
194
194
  end
195
- @options = args.last.is_a?(Hash) ? args.last.symbolize_keys : {}
195
+ extract_options_from_args(args) # sets @options
196
196
  if parent.nil?
197
197
  options[:parent] ||= Component.interpretation_stack.last&.options&.[](:parent)
198
198
  options[:render] ||= Component.interpretation_stack.last&.options&.[](:render)
@@ -1115,6 +1115,14 @@ module Glimmer
1115
1115
 
1116
1116
  private
1117
1117
 
1118
+ def extract_options_from_args(args)
1119
+ @options = args.last.is_a?(Hash) ? args.last.symbolize_keys : {}
1120
+ if @options.has_key?(:value)
1121
+ @options[:value] = value # ensures setting the converted value instead of the raw value
1122
+ end
1123
+ @options
1124
+ end
1125
+
1118
1126
  def base_css_classes
1119
1127
  framework_css_classes = @parent.nil? ? ["#{CSS_CLASS_GLIMMER}-root"] : []
1120
1128
  framework_css_classes += [element_id]
@@ -55,50 +55,38 @@ unless Object.const_defined?(:HelloInputDateTime) # this is only needed in sampl
55
55
  div {
56
56
  div(style: 'display: grid; grid-auto-columns: 130px 260px;') { |container_div|
57
57
  label('Date Time: ', for: 'date-time-field')
58
- @date_time_field = input(id: 'date-time-field', type: 'datetime-local') {
59
- value @time_presenter.date_time
60
-
58
+ @date_time_field = input(id: 'date-time-field', type: 'datetime-local', value: @time_presenter.date_time) {
61
59
  oninput do |event|
62
60
  @time_presenter.date_time = @date_time_field.value
63
61
  end
64
62
  }
65
63
 
66
64
  label('Date: ', for: 'date-field')
67
- @date_field = input(id: 'date-field', type: 'date') {
68
- value @time_presenter.date_time
69
-
65
+ @date_field = input(id: 'date-field', type: 'date', value: @time_presenter.date_time) {
70
66
  oninput do |event|
71
67
  @time_presenter.date_time = @date_field.value
72
68
  end
73
69
  }
74
70
 
75
71
  label('Time: ', for: 'time-field')
76
- @time_field = input(id: 'time-field', type: 'time') {
77
- value @time_presenter.date_time
78
-
72
+ @time_field = input(id: 'time-field', type: 'time', value: @time_presenter.date_time) {
79
73
  oninput do |event|
80
74
  @time_presenter.date_time = @time_field.value
81
75
  end
82
76
  }
83
77
 
84
78
  label('Month: ', for: 'month-field')
85
- @month_field = input(id: 'month-field', type: 'month') {
86
- value @time_presenter.date_time
87
-
79
+ @month_field = input(id: 'month-field', type: 'month', value: @time_presenter.date_time) {
88
80
  oninput do |event|
89
81
  @time_presenter.date_time = @month_field.value
90
82
  end
91
83
  }
92
84
 
93
85
  label('Week: ', for: 'week-field')
94
- @week_field = input(id: 'week-field', type: 'week', disabled: true) {
95
- value @time_presenter.week_string
96
- }
86
+ @week_field = input(id: 'week-field', type: 'week', disabled: true, value: @time_presenter.week_string)
97
87
 
98
88
  label('Time String: ', for: 'time-string-field')
99
- @time_string_field = input(id: 'time-string-field', type: 'text') {
100
- value @time_presenter.date_time_string
101
-
89
+ @time_string_field = input(id: 'time-string-field', type: 'text', value: @time_presenter.date_time_string) {
102
90
  oninput do |event|
103
91
  @time_presenter.date_time_string = @time_string_field.value
104
92
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh