turbo_boost-commands 0.0.7 → 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.

@@ -1,27 +1,33 @@
1
- const events = {}
1
+ let events = []
2
2
  let eventListener
3
3
 
4
4
  function register (eventName, selectors) {
5
- events[eventName] = selectors
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 getRegisteredEventNameForElement (element) {
10
- return Object.keys(events).find(eventName => {
11
- return !!events[eventName].find(selector =>
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
- return eventName === getRegisteredEventNameForElement(element)
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
  }
@@ -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 { ...delegates.events }
122
+ return delegates.events
123
123
  }
124
124
  }
125
125
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TurboBoost
4
4
  module Commands
5
- VERSION = "0.0.7"
5
+ VERSION = "0.0.8"
6
6
  end
7
7
  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.7
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-10 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails