Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
children(this.$trigger).forEach(($this, i) => {
const $content = children(this.$container)[i]
removeClass(this.classes.SELECTED, $this)
hideElement($content)
this.leave(`${getData('type', $this)}Module`)
if (getData('type', $this) === typeName) {
addClass(this.classes.SELECTED, $this)
$content.style.display = 'block'
// showElement($content)
}
})
renderTree(node, isRoot, api) {
let nodes
if (isRoot) {
nodes = node
addClass(this.classes.TREE, node)
} else {
nodes = children('ul', node)[0]
}
if (nodes) {
// has child
addClass(this.classes.BRANCH, node)
const privateIterate = tree => {
children('li', tree).forEach(node => {
const data = this.getBranch(node)
const branchHtml = this.api.getBranchHtml(data)
const div = query('div', node)
if (div) {
insertAfter(branchHtml, div)
div.remove()
} else {
initialize() {
switch (this.type) {
case 'root': {
this.subelements = Array.from(this.dom.children)
this.level = 0
this.parent = null
break
}
case 'branch':
case 'leaf': {
const childrenUl = children('ul', this.dom)
if (childrenUl.length > 0) {
this.subelements = Array.from(childrenUl[0].children)
} else {
this.subelements = []
}
this.$parent = parents(`.${this.classes.BRANCH}`, this.dom)[0]
if (!this.$parent) {
this.$parent = this.dom.parentNode
}
this.parent = getData('node', this.$parent)
// this.parent = this.$parent.data('node')
this.level = this.parent.level + 1
break
attach(node, isRoot, api) {
setData('node', new Node(node, isRoot, api), node)
let childrenEl
if (isRoot) {
childrenEl = node
} else {
childrenEl = children('ul', node)[0]
}
if (childrenEl) {
// has child
const iterate = tree => {
children('li', tree).forEach(node => {
this.attach(node, false, api)
})
}
iterate(childrenEl)
}
}
generateToggle() {
if (isElement(this.options.toggle)) {
this.$addon = this.options.toggle
addClass(this.classes.ADDON, this.$addon)
if (query(`.${this.classes.CHECK}`)) {
this.$toggle = query(`.${this.classes.CHECK}`)
}
this.$toggle = children(this.$addon)[0]
addClass(this.classes.TOGGLE, this.$toggle)
insertAfter(this.$addon, this.element)
} else if (this.options.toggle) {
addClass(`${this.classes.HASICON}`, this.$wrap)
this.$icon = parseHTML(
template.render(this.options.templates.icon(), {
classes: this.classes
})
)
insertAfter(this.$icon, this.element)
}
}
getItems($parent) {
return children($parent)
},
delImage() {
const target = children(this.$items)[this.indexed]
if (target) {
target.remove()
}
}
})
}
if (hasClass(this.classes.CLONED, prevItem)) {
children(
`.${this.classes.ITEM}:not(.${
this.classes.CLONED
})[data-swipe-item-index="${attr(
'data-swipe-item-index',
prevItem
)}"]`,
this.$inner
).forEach(children => {
addClass(this.classes.CLONEDPREV, children)
})
} else {
children(
`.${this.classes.ITEM}.${
this.classes.CLONED
}[data-swipe-item-index="${attr(
'data-swipe-item-index',
prevItem
)}"]`,
this.$inner
).forEach(children => {
addClass(this.classes.CLONEDPREV, children)
})
}
}
}
target: false,
classes: {
DROPDOWN: `${this.classes.DROPDOWN} {namespace}`
},
templates: {
item() {
return '<div class="{classes.ITEM}">{item.label}</div>'
}
},
onSelect: el => {
const index = getData('index', el)
this.setActiveItem(this.$filters[index])
}
})
} else {
children(this.DROPDOWN.$dropdown).map(item => item.remove())
this.DROPDOWN.appendItems(data)
}
this.setDropdownActive()
this.trigger(EVENTS.RESPONSIVED)
}