Socket
Socket
Sign inDemoInstall

fancy-select

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fancy-select - npm Package Compare versions

Comparing version 0.6.0 to 0.7.0

14

index.js
var mercury = require('mercury')
var document = require('global/document')
var cloneDeep = require('lodash.clonedeep')
var slice = Array.prototype.slice

@@ -44,3 +45,3 @@ FancySelect.render = require('./view')

backspace: mercury.input(),
select: tree.select,
select: mercury.input(),
dropdown: mercury.input(),

@@ -57,6 +58,8 @@ input: mercury.input(),

events.select(function () {
tree.select.apply(null, slice.call(arguments))
tree.setQuery('')
})
events.backspace(function () {
if (!state.query()) {
tree.pop()
}
if (!state.query()) tree.pop()
})

@@ -81,3 +84,4 @@

placeholder: mercury.value(data.placeholder || '')
placeholder: mercury.value(data.placeholder || ''),
separator: mercury.value(data.separator || ',')
})

@@ -84,0 +88,0 @@

{
"name": "fancy-select",
"description": "fancy select",
"version": "0.6.0",
"version": "0.7.0",
"repository": {

@@ -6,0 +6,0 @@ "url": "nrw/fancy-select"

@@ -11,2 +11,3 @@ var mercury = require('mercury')

var DOWN = 40
var COMMA = 188

@@ -43,48 +44,7 @@ module.exports = render

className: styles.input.className,
'ev-event': inputEvent.bind(null, state),
'ev-input': mercury.valueEvent(state.events.input, {
preventDefault: false
}),
})
'ev-event': function (e) {
mutableFocus()
switch (e.type) {
case 'blur':
var relatedTarget = e.relatedTarget
// TODO: this will likely stop working until
// https://github.com/Raynos/dom-delegator/pull/4 is fixed
if (
!relatedTarget ||
!e.currentTarget.parentNode.parentNode.contains(relatedTarget)
) {
state.events.dropdown(false)
}
break
case 'focus':
state.events.dropdown(true)
break
case 'keydown':
switch (e.keyCode) {
case BACKSPACE:
state.events.backspace()
break
case ENTER:
state.events.select(state.active)
e.preventDefault()
break
case DOWN:
state.events.next()
e.preventDefault()
break
case UP:
state.events.prev()
e.preventDefault()
break
}
break
}
}
})

@@ -99,5 +59,42 @@ ]),

function inputEvent (state, e) {
mutableFocus()
if (e.type === 'blur') {
var relatedTarget = e.relatedTarget
// TODO: this will likely stop working until
// https://github.com/Raynos/dom-delegator/pull/4 is fixed
if (
!relatedTarget ||
!e.currentTarget.parentNode.parentNode.contains(relatedTarget)
) {
state.events.dropdown(false)
}
} else if (e.type === 'focus') {
state.events.dropdown(true)
} else if (e.type === 'keydown') {
switch (e.keyCode) {
case BACKSPACE:
state.events.backspace()
break
case COMMA:
case ENTER:
state.events.select(state.active)
e.preventDefault()
break
case DOWN:
state.events.next()
e.preventDefault()
break
case UP:
state.events.prev()
e.preventDefault()
break
}
}
}
function renderGroup (state, data, path) {
path = path || []
// console.log('obj', data, path)

@@ -104,0 +101,0 @@ return data.map(function (opt, index) {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc