Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/vreg/node_modules/vue-scrollto/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/vreg/node_modules/vue-scrollto/src/directive.js
import scrollTo from './scrollTo'
import _ from './utils'

let bindings = [] // store binding data

function deleteBinding(el) {
  for (let i = 0; i < bindings.length; ++i) {
    if (bindings[i].el === el) {
      bindings.splice(i, 1)
      return true
    }
  }
  return false
}

function findBinding(el) {
  for (let i = 0; i < bindings.length; ++i) {
    if (bindings[i].el === el) {
      return bindings[i]
    }
  }
}

function getBinding(el) {
  let binding = findBinding(el)

  if (binding) {
    return binding
  }

  bindings.push(
    (binding = {
      el: el,
      binding: {},
    })
  )

  return binding
}

function handleClick(e) {
  const ctx = getBinding(this).binding
  if (!ctx.value) return

  e.preventDefault()

  if (typeof ctx.value === 'string') {
    return scrollTo(ctx.value)
  }
  scrollTo(ctx.value.el || ctx.value.element, ctx.value)
}

const directiveHooks = {
  bind(el, binding) {
    getBinding(el).binding = binding
    _.on(el, 'click', handleClick)
  },
  unbind(el) {
    deleteBinding(el)
    _.off(el, 'click', handleClick)
  },
  update(el, binding) {
    getBinding(el).binding = binding
  }
}

export default {
  bind: directiveHooks.bind,
  unbind: directiveHooks.unbind,
  update: directiveHooks.update,
  beforeMount: directiveHooks.bind,
  unmounted: directiveHooks.unbind,
  updated: directiveHooks.update,
  scrollTo,
  bindings,
}

Spamworldpro Mini