12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- module.exports = {
- createDrag (obj) {
- const drag = (ev) => {
- obj && obj.drag && obj.drag(ev)
- }
- const drop = (ev) => {
- document.removeEventListener('mousemove', drag)
- document.removeEventListener('mouseup', drop)
- obj && obj.drop && obj.drop(ev)
- }
- document.addEventListener('mousemove', drag)
- document.addEventListener('mouseup', drop)
- },
- guid (n) {
- var text = ''
- if (!n) n = 5
- var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
- const d = new Date()
- text += possible[d.getMilliseconds() % possible.length]
- text += possible[d.getSeconds()]
- text += possible[d.getMinutes()]
- text += possible[d.getDate()]
- for (var i = 0; i < n; i++) { text += possible.charAt(Math.floor(Math.random() * possible.length)) }
- return text
- },
- textWrap (text, maxLen, opt) {
- const ret = []
- let parts = text.split(' ', -1)
- switch (opt) {
- case 'white-space':
- parts.forEach(n => { maxLen = Math.max(n.length + 1, maxLen) })
- break
- case 'any':
- // Break any word bigger than wrapThreshold
- let newParts = []
- parts.forEach(n => {
- while (n.length > maxLen) {
- const pre = n.substring(0, maxLen)
- newParts.push(pre)
- n = n.substr(maxLen)
- }
- newParts.push(n)
- })
- parts = newParts
- break
- }
- ret.push(parts[0])
- for (let i = 1; i < parts.length; i++) {
- let ri = ret.length - 1 // last
- if (ret[ret.length - 1].length + parts[i].length > maxLen) {
- ret.push(parts[i])
- } else {
- // we can add to same
- ret[ri] += ' ' + parts[i]
- }
- }
- return ret
- }
- }
|