opal-vite 0.1.0 → 0.2.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/lib/opal/vite/compiler.rb +60 -0
- data/lib/opal/vite/version.rb +1 -1
- data/lib/opal-vite.rb +10 -2
- data/opal/opal_vite/concerns/dom_helpers.rb +89 -0
- data/opal/opal_vite/concerns/js_proxy_ex.rb +414 -0
- data/opal/opal_vite/concerns/react_helpers.rb +315 -0
- data/opal/opal_vite/concerns/stimulus_helpers.rb +813 -0
- data/opal/opal_vite/concerns/storable.rb +31 -0
- data/opal/opal_vite/concerns/toastable.rb +36 -0
- data/opal/opal_vite/concerns.rb +6 -0
- data/opal/opal_vite.rb +16 -0
- metadata +9 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# backtick_javascript: true
|
|
2
|
+
|
|
3
|
+
module OpalVite
|
|
4
|
+
module Concerns
|
|
5
|
+
# Storable concern - provides LocalStorage functionality
|
|
6
|
+
module Storable
|
|
7
|
+
def storage_get(key)
|
|
8
|
+
stored = `localStorage.getItem(#{key})`
|
|
9
|
+
return nil unless stored
|
|
10
|
+
|
|
11
|
+
begin
|
|
12
|
+
`JSON.parse(stored)`
|
|
13
|
+
rescue
|
|
14
|
+
nil
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def storage_set(key, data)
|
|
19
|
+
json = `JSON.stringify(#{data.to_n})`
|
|
20
|
+
`localStorage.setItem(#{key}, json)`
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def storage_remove(key)
|
|
24
|
+
`localStorage.removeItem(#{key})`
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Alias for backward compatibility
|
|
31
|
+
Storable = OpalVite::Concerns::Storable
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# backtick_javascript: true
|
|
2
|
+
|
|
3
|
+
module OpalVite
|
|
4
|
+
module Concerns
|
|
5
|
+
# Toastable concern - provides toast notification functionality
|
|
6
|
+
module Toastable
|
|
7
|
+
def dispatch_toast(message, type = 'info')
|
|
8
|
+
`
|
|
9
|
+
const event = new CustomEvent('show-toast', {
|
|
10
|
+
detail: { message: #{message}, type: #{type} }
|
|
11
|
+
});
|
|
12
|
+
window.dispatchEvent(event);
|
|
13
|
+
`
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def show_success(message)
|
|
17
|
+
dispatch_toast(message, 'success')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def show_error(message)
|
|
21
|
+
dispatch_toast(message, 'error')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def show_warning(message)
|
|
25
|
+
dispatch_toast(message, 'warning')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def show_info(message)
|
|
29
|
+
dispatch_toast(message, 'info')
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Alias for backward compatibility
|
|
36
|
+
Toastable = OpalVite::Concerns::Toastable
|
data/opal/opal_vite.rb
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# OpalVite - Opal + Vite integration library
|
|
2
|
+
#
|
|
3
|
+
# Usage:
|
|
4
|
+
# require 'opal_vite'
|
|
5
|
+
# require 'opal_vite/concerns'
|
|
6
|
+
#
|
|
7
|
+
# Or require individual concerns:
|
|
8
|
+
# require 'opal_vite/concerns/js_proxy_ex'
|
|
9
|
+
# require 'opal_vite/concerns/dom_helpers'
|
|
10
|
+
# require 'opal_vite/concerns/toastable'
|
|
11
|
+
# require 'opal_vite/concerns/storable'
|
|
12
|
+
|
|
13
|
+
module OpalVite
|
|
14
|
+
module Concerns
|
|
15
|
+
end
|
|
16
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: opal-vite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- stofu1234
|
|
@@ -110,6 +110,14 @@ files:
|
|
|
110
110
|
- lib/opal/vite/config.rb
|
|
111
111
|
- lib/opal/vite/source_map.rb
|
|
112
112
|
- lib/opal/vite/version.rb
|
|
113
|
+
- opal/opal_vite.rb
|
|
114
|
+
- opal/opal_vite/concerns.rb
|
|
115
|
+
- opal/opal_vite/concerns/dom_helpers.rb
|
|
116
|
+
- opal/opal_vite/concerns/js_proxy_ex.rb
|
|
117
|
+
- opal/opal_vite/concerns/react_helpers.rb
|
|
118
|
+
- opal/opal_vite/concerns/stimulus_helpers.rb
|
|
119
|
+
- opal/opal_vite/concerns/storable.rb
|
|
120
|
+
- opal/opal_vite/concerns/toastable.rb
|
|
113
121
|
homepage: https://github.com/stofu1234/opal-vite
|
|
114
122
|
licenses:
|
|
115
123
|
- MIT
|