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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/VERSION +1 -1
- data/glimmer-dsl-web.gemspec +2 -2
- data/lib/glimmer/web/element_proxy.rb +9 -1
- data/lib/glimmer-dsl-web/samples/hello/hello_input_date_time.rb +6 -18
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ef597116fc763e29269c604996c84cd52e30788ef04c799cc39c5c599762e96d
|
|
4
|
+
data.tar.gz: aaebc4caeb56cf94acaf81b59bd8854d73e7a4ff4e943ebe811431f042df656e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
1
|
+
0.10.1
|
data/glimmer-dsl-web.gemspec
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
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
|