node_modules updated, buefy add to lib folder
This commit is contained in:
+145
@@ -0,0 +1,145 @@
|
||||
import config from './config'
|
||||
import { removeElement } from './helpers'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: 'is-dark'
|
||||
},
|
||||
message: String,
|
||||
duration: Number,
|
||||
queue: {
|
||||
type: Boolean,
|
||||
default: undefined
|
||||
},
|
||||
position: {
|
||||
type: String,
|
||||
default: 'is-top',
|
||||
validator(value) {
|
||||
return [
|
||||
'is-top-right',
|
||||
'is-top',
|
||||
'is-top-left',
|
||||
'is-bottom-right',
|
||||
'is-bottom',
|
||||
'is-bottom-left'
|
||||
].indexOf(value) > -1
|
||||
}
|
||||
},
|
||||
container: String
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isActive: false,
|
||||
parentTop: null,
|
||||
parentBottom: null,
|
||||
newContainer: this.container || config.defaultContainerElement
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
correctParent() {
|
||||
switch (this.position) {
|
||||
case 'is-top-right':
|
||||
case 'is-top':
|
||||
case 'is-top-left':
|
||||
return this.parentTop
|
||||
|
||||
case 'is-bottom-right':
|
||||
case 'is-bottom':
|
||||
case 'is-bottom-left':
|
||||
return this.parentBottom
|
||||
}
|
||||
},
|
||||
transition() {
|
||||
switch (this.position) {
|
||||
case 'is-top-right':
|
||||
case 'is-top':
|
||||
case 'is-top-left':
|
||||
return {
|
||||
enter: 'fadeInDown',
|
||||
leave: 'fadeOut'
|
||||
}
|
||||
case 'is-bottom-right':
|
||||
case 'is-bottom':
|
||||
case 'is-bottom-left':
|
||||
return {
|
||||
enter: 'fadeInUp',
|
||||
leave: 'fadeOut'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
shouldQueue() {
|
||||
const queue = this.queue !== undefined
|
||||
? this.queue
|
||||
: config.defaultNoticeQueue
|
||||
|
||||
if (!queue) return false
|
||||
|
||||
return (
|
||||
this.parentTop.childElementCount > 0 ||
|
||||
this.parentBottom.childElementCount > 0
|
||||
)
|
||||
},
|
||||
|
||||
close() {
|
||||
clearTimeout(this.timer)
|
||||
this.isActive = false
|
||||
|
||||
// Timeout for the animation complete before destroying
|
||||
setTimeout(() => {
|
||||
this.$destroy()
|
||||
removeElement(this.$el)
|
||||
}, 150)
|
||||
},
|
||||
|
||||
showNotice() {
|
||||
if (this.shouldQueue()) {
|
||||
// Call recursively if should queue
|
||||
setTimeout(() => this.showNotice(), 250)
|
||||
return
|
||||
}
|
||||
this.correctParent.insertAdjacentElement('afterbegin', this.$el)
|
||||
this.isActive = true
|
||||
|
||||
if (!this.indefinite) {
|
||||
this.timer = setTimeout(() => this.close(), this.newDuration)
|
||||
}
|
||||
},
|
||||
|
||||
setupContainer() {
|
||||
this.parentTop = document.querySelector('.notices.is-top')
|
||||
this.parentBottom = document.querySelector('.notices.is-bottom')
|
||||
|
||||
if (this.parentTop && this.parentBottom) return
|
||||
|
||||
if (!this.parentTop) {
|
||||
this.parentTop = document.createElement('div')
|
||||
this.parentTop.className = 'notices is-top'
|
||||
}
|
||||
|
||||
if (!this.parentBottom) {
|
||||
this.parentBottom = document.createElement('div')
|
||||
this.parentBottom.className = 'notices is-bottom'
|
||||
}
|
||||
|
||||
const container = document.querySelector(this.newContainer) || document.body
|
||||
|
||||
container.appendChild(this.parentTop)
|
||||
container.appendChild(this.parentBottom)
|
||||
|
||||
if (this.newContainer) {
|
||||
this.parentTop.classList.add('has-custom-container')
|
||||
this.parentBottom.classList.add('has-custom-container')
|
||||
}
|
||||
}
|
||||
},
|
||||
beforeMount() {
|
||||
this.setupContainer()
|
||||
},
|
||||
mounted() {
|
||||
this.showNotice()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user