More vue updates
Former-commit-id: ec29aa7447e3ad1c90dea24e94072d51f212333e [formerly d370cb523dde06fb6d5aab614bf6ec1d94097363] [formerly bbabc4da0a6128b3bd8ecfa226156c9c2be7297e [formerly 2789ff2161]]
Former-commit-id: fb3ae368534aa2bd7cc08283463ac9d8e0d1d825 [formerly efbb60cc4dd2856bbc004fcbdc0567540c72f5b3]
Former-commit-id: d0c3699029c88a3ed2a8f5ab72c70d0f5289292d
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// Removes an element, if exists, from an array
|
||||
function removeElement (array, element) {
|
||||
var i = array.indexOf(element)
|
||||
if (i !== -1) {
|
||||
array.splice(i, 1)
|
||||
}
|
||||
|
||||
return array
|
||||
}
|
||||
|
||||
// Replaces an element inside an array by another
|
||||
function replaceElement (array, oldElement, newElement) {
|
||||
var i = array.indexOf(oldElement)
|
||||
if (i !== -1) {
|
||||
array[i] = newElement
|
||||
}
|
||||
|
||||
return array
|
||||
}
|
||||
|
||||
export default {
|
||||
remove: removeElement,
|
||||
replace: replaceElement
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
export default function getRule (rules) {
|
||||
for (let i = 0; i < rules.length; i++) {
|
||||
rules[i] = rules[i].toLowerCase()
|
||||
}
|
||||
|
||||
let result = null
|
||||
let find = Array.prototype.find
|
||||
|
||||
find.call(document.styleSheets, styleSheet => {
|
||||
result = find.call(styleSheet.cssRules, cssRule => {
|
||||
let found = false
|
||||
|
||||
if (cssRule instanceof window.CSSStyleRule) {
|
||||
for (let i = 0; i < rules.length; i++) {
|
||||
if (cssRule.selectorText.toLowerCase() === rules[i]) {
|
||||
found = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return found
|
||||
})
|
||||
|
||||
return result != null
|
||||
})
|
||||
|
||||
return result
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
var $ = window.info
|
||||
|
||||
function open (url, history) {
|
||||
// Reset info
|
||||
$.selected = []
|
||||
$.multiple = false
|
||||
$.req.kind = ''
|
||||
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('GET', url, true)
|
||||
request.setRequestHeader('Accept', 'application/json')
|
||||
|
||||
request.onload = () => {
|
||||
if (request.status === 200) {
|
||||
$.req = JSON.parse(request.responseText)
|
||||
|
||||
if (history) {
|
||||
window.history.pushState({
|
||||
name: $.req.data.name,
|
||||
url: url
|
||||
}, $.req.data.name, url)
|
||||
|
||||
document.title = $.req.data.name
|
||||
}
|
||||
} else {
|
||||
console.log(request.responseText)
|
||||
}
|
||||
}
|
||||
|
||||
request.onerror = (error) => { console.log(error) }
|
||||
request.send()
|
||||
}
|
||||
|
||||
function removeLastDir (url) {
|
||||
var arr = url.split('/')
|
||||
if (arr.pop() === '') {
|
||||
arr.pop()
|
||||
}
|
||||
return (arr.join('/'))
|
||||
}
|
||||
|
||||
export default {
|
||||
reload: () => {
|
||||
open(window.location.pathname, false)
|
||||
},
|
||||
open: (url) => {
|
||||
open(url, true)
|
||||
},
|
||||
removeLastDir: removeLastDir
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
var $ = window.info
|
||||
|
||||
function convertURL (url) {
|
||||
return window.location.origin + url.replace($.baseURL + '/', $.webdavURL + '/')
|
||||
}
|
||||
|
||||
function move (oldLink, newLink) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
|
||||
oldLink = convertURL(oldLink)
|
||||
newLink = newLink.replace($.baseURL + '/', $.webdavURL + '/')
|
||||
newLink = window.location.origin + newLink.substring($.baseURL.length)
|
||||
|
||||
request.open('MOVE', oldLink, true)
|
||||
request.setRequestHeader('Destination', newLink)
|
||||
request.onload = () => {
|
||||
if (request.status === 201 || request.status === 204) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(request.statusText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject(request.statusText)
|
||||
request.send()
|
||||
})
|
||||
}
|
||||
|
||||
function put (link, body, headers = {}) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('PUT', convertURL(link), true)
|
||||
|
||||
for (let key in headers) {
|
||||
request.setRequestHeader(key, headers[key])
|
||||
}
|
||||
|
||||
request.onload = () => {
|
||||
if (request.status === 201) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(request.statusText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject(request.statusText)
|
||||
request.send(body)
|
||||
})
|
||||
}
|
||||
|
||||
function propfind (link, body, headers = {}) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('PROPFIND', convertURL(link), true)
|
||||
|
||||
for (let key in headers) {
|
||||
request.setRequestHeader(key, headers[key])
|
||||
}
|
||||
|
||||
request.onload = () => {
|
||||
if (request.status < 300) {
|
||||
resolve(request.responseText)
|
||||
} else {
|
||||
reject(request.statusText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject(request.statusText)
|
||||
request.send(body)
|
||||
})
|
||||
}
|
||||
|
||||
function trash (link) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('DELETE', convertURL(link), true)
|
||||
request.onload = () => {
|
||||
if (request.status === 204) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(request.statusText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject(request.statusText)
|
||||
request.send()
|
||||
})
|
||||
}
|
||||
|
||||
function create (link) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open((link.endsWith('/') ? 'MKCOL' : 'PUT'), convertURL(link), true)
|
||||
request.onload = () => {
|
||||
if (request.status === 201) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(request.statusText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject(request.statusText)
|
||||
request.send()
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
create: create,
|
||||
trash: trash,
|
||||
propfind: propfind,
|
||||
put: put,
|
||||
move: move
|
||||
}
|
||||
Reference in New Issue
Block a user