feat: code cleanup, new features and v2.0

We're merging this to continue https://github.com/filebrowser/filebrowser/pull/575 and setup translations auto-updating.
This commit is contained in:
Henrique Dias
2019-01-05 16:12:09 +00:00
committed by GitHub
parent 2642333928
commit 39be89780e
155 changed files with 16499 additions and 6583 deletions

View File

@@ -1,4 +1,8 @@
const getters = {
isLogged: state => state.user !== null,
isFiles: state => !state.loading && state.route.name === 'Files',
isListing: (state, getters) => getters.isFiles && state.req.isDir,
isEditor: (state, getters) => getters.isFiles && (state.req.type === 'text' || state.req.type === 'textImmutable'),
selectedCount: state => state.selected.length
}

View File

@@ -6,36 +6,27 @@ import getters from './getters'
Vue.use(Vuex)
const state = {
user: {},
user: null,
req: {},
oldReq: {},
clipboard: {
key: '',
items: []
},
css: (() => {
let css = window.CSS
window.CSS = null
return css
})(),
recaptcha: document.querySelector('meta[name="recaptcha"]').getAttribute('content'),
staticGen: document.querySelector('meta[name="staticgen"]').getAttribute('content'),
baseURL: document.querySelector('meta[name="base"]').getAttribute('content'),
noAuth: (document.querySelector('meta[name="noauth"]').getAttribute('content') === 'true'),
version: document.querySelector('meta[name="version"]').getAttribute('content'),
jwt: '',
progress: 0,
schedule: '',
loading: false,
reload: false,
selected: [],
multiple: false,
show: null,
showShell: false,
showMessage: null,
showConfirm: null
}
export default new Vuex.Store({
strict: process.env.NODE_ENV !== 'production',
strict: true,
state,
getters,
mutations

View File

@@ -6,6 +6,9 @@ const mutations = {
state.show = null
state.showMessage = null
},
toggleShell: (state) => {
state.showShell = !state.showShell
},
showHover: (state, value) => {
if (typeof value !== 'object') {
state.show = value
@@ -27,6 +30,11 @@ const mutations = {
setLoading: (state, value) => { state.loading = value },
setReload: (state, value) => { state.reload = value },
setUser: (state, value) => {
if (value === null) {
state.user = null
return
}
let locale = value.locale
if (locale === '') {
@@ -37,7 +45,6 @@ const mutations = {
i18n.default.locale = locale
state.user = value
},
setCSS: (state, value) => (state.css = value),
setJWT: (state, value) => (state.jwt = value),
multiple: (state, value) => (state.multiple = value),
addSelected: (state, value) => (state.selected.push(value)),
@@ -56,10 +63,16 @@ const mutations = {
if (typeof value !== 'object') return
for (let field in value) {
if (field === 'locale') {
moment.locale(value[field])
i18n.default.locale = value[field]
}
state.user[field] = value[field]
}
},
updateRequest: (state, value) => {
state.oldReq = state.req
state.req = value
},
updateClipboard: (state, value) => {
@@ -70,9 +83,6 @@ const mutations = {
state.clipboard.key = ''
state.clipboard.items = []
},
setSchedule: (state, value) => {
state.schedule = value
},
setProgress: (state, value) => {
state.progress = value
}