turbo_boost-commands 0.0.6 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of turbo_boost-commands might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +45 -23
- data/app/assets/builds/@turbo-boost/commands.js +3 -3
- data/app/assets/builds/@turbo-boost/commands.js.map +3 -3
- data/app/javascript/delegates.js +14 -8
- data/app/javascript/index.js +3 -3
- data/lib/turbo_boost/commands/runner.rb +4 -1
- data/lib/turbo_boost/commands/version.rb +1 -1
- metadata +2 -2
data/app/javascript/delegates.js
CHANGED
@@ -1,27 +1,33 @@
|
|
1
|
-
|
1
|
+
let events = []
|
2
2
|
let eventListener
|
3
3
|
|
4
4
|
function register (eventName, selectors) {
|
5
|
-
|
5
|
+
const match = events.find(evt => evt.name === eventName)
|
6
|
+
if (match) events.splice(events.indexOf(match), 1)
|
7
|
+
events = [{ name: eventName, selectors }, ...events]
|
6
8
|
document.addEventListener(eventName, eventListener, true)
|
9
|
+
return { ...events.find(evt => evt.name === eventName) }
|
7
10
|
}
|
8
11
|
|
9
|
-
function
|
10
|
-
return
|
11
|
-
|
12
|
+
function getRegisteredEventForElement (element) {
|
13
|
+
return events.find(evt =>
|
14
|
+
evt.selectors.find(selector =>
|
12
15
|
Array.from(document.querySelectorAll(selector)).find(el => el === element)
|
13
16
|
)
|
14
|
-
|
17
|
+
)
|
15
18
|
}
|
16
19
|
|
17
20
|
function isRegisteredForElement (eventName, element) {
|
18
|
-
|
21
|
+
const evt = getRegisteredEventForElement(element)
|
22
|
+
return evt && evt.name === eventName
|
19
23
|
}
|
20
24
|
|
21
25
|
export default {
|
22
|
-
events,
|
23
26
|
register,
|
24
27
|
isRegisteredForElement,
|
28
|
+
get events () {
|
29
|
+
return [...events]
|
30
|
+
},
|
25
31
|
set handler (fn) {
|
26
32
|
eventListener = fn
|
27
33
|
}
|
data/app/javascript/index.js
CHANGED
@@ -89,13 +89,13 @@ function invokeCommand (event) {
|
|
89
89
|
|
90
90
|
// wire things up and setup defaults for event delegation
|
91
91
|
delegates.handler = invokeCommand
|
92
|
+
delegates.register('click', [`[${schema.commandAttribute}]`])
|
93
|
+
delegates.register('submit', [`form[${schema.commandAttribute}]`])
|
92
94
|
delegates.register('change', [
|
93
95
|
`input[${schema.commandAttribute}]`,
|
94
96
|
`select[${schema.commandAttribute}]`,
|
95
97
|
`textarea[${schema.commandAttribute}]`
|
96
98
|
])
|
97
|
-
delegates.register('submit', [`form[${schema.commandAttribute}]`])
|
98
|
-
delegates.register('click', [`[${schema.commandAttribute}]`])
|
99
99
|
|
100
100
|
self.TurboBoost = self.TurboBoost || {}
|
101
101
|
|
@@ -119,7 +119,7 @@ self.TurboBoost.Commands = {
|
|
119
119
|
events: commandEvents,
|
120
120
|
registerEventDelegate: delegates.register,
|
121
121
|
get eventDelegates () {
|
122
|
-
return
|
122
|
+
return delegates.events
|
123
123
|
}
|
124
124
|
}
|
125
125
|
|
@@ -166,7 +166,10 @@ class TurboBoost::Commands::Runner
|
|
166
166
|
|
167
167
|
def handle_command_event(event, error: nil)
|
168
168
|
case event
|
169
|
-
when :aborted
|
169
|
+
when :aborted
|
170
|
+
prevent_controller_action error: error
|
171
|
+
append_streams_to_response_body
|
172
|
+
when :errored then prevent_controller_action(error: error)
|
170
173
|
when :performed then prevent_controller_action if should_prevent_controller_action?
|
171
174
|
end
|
172
175
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbo_boost-commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nate Hopkins (hopsoft)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|