2019-08-09 16:45:25 +00:00
< template >
< div >
2019-11-03 17:39:07 +00:00
< el -form ref = "instanceData" :model ="instanceData" :label-width ="labelWidth" >
< setting :settings-group ="instance" :data ="instanceData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "uriSchemesData" :model ="uriSchemesData" :label-width ="labelWidth" >
< setting :settings-group ="uriSchemes" :data ="uriSchemesData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "adminTokenData" :model ="adminTokenData" :label-width ="labelWidth" >
< setting :settings-group ="adminToken" :data ="adminTokenData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "scheduledActivityData" :model ="scheduledActivityData" :label-width ="labelWidth" >
< setting :settings-group ="scheduledActivity" :data ="scheduledActivityData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "fetchInitialPostsData" :model ="fetchInitialPostsData" :label-width ="labelWidth" >
< setting :settings-group ="fetchInitialPosts" :data ="fetchInitialPostsData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "suggestionsData" :model ="suggestionsData" :label-width ="labelWidth" >
2019-08-09 16:45:25 +00:00
< el -form -item label = "Suggestions:" / >
2019-11-03 17:39:07 +00:00
< setting :settings-group ="suggestions" :data ="suggestionsData" / >
2019-08-09 16:45:25 +00:00
< / e l - f o r m >
< div class = "line" / >
2019-11-03 17:39:07 +00:00
< el -form ref = "pleromaUserData" :model ="pleromaUserData" :label-width ="labelWidth" >
< setting :settings-group ="pleromaUser" :data ="pleromaUserData" / >
2019-08-09 16:45:25 +00:00
< el -form -item >
< el -button type = "primary" @click ="onSubmit" > Submit < / el -button >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< / div >
< / template >
< script >
import i18n from '@/lang'
import { mapGetters } from 'vuex'
import { options } from './options'
2019-11-03 17:39:07 +00:00
import Setting from './Setting'
2019-08-09 16:45:25 +00:00
export default {
name : 'Instance' ,
2019-11-03 17:39:07 +00:00
components : {
Setting
} ,
2019-08-09 16:45:25 +00:00
computed : {
... mapGetters ( [
2019-11-03 17:39:07 +00:00
'adminTokenData' ,
'fetchInitialPostsData' ,
'instanceData' ,
'pleromaUserData' ,
'scheduledActivityData' ,
'suggestionsData' ,
'uriSchemesData'
2019-08-09 16:45:25 +00:00
] ) ,
2019-11-03 17:39:07 +00:00
adminToken ( ) {
return this . $store . state . settings . description . find ( setting => setting . description === ` Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the 'admin_token' parameter ` )
} ,
fetchInitialPosts ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':fetch_initial_posts' )
2019-08-09 16:45:25 +00:00
} ,
2019-11-03 17:39:07 +00:00
instance ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':instance' )
2019-08-09 16:45:25 +00:00
} ,
isMobile ( ) {
return this . $store . state . app . device === 'mobile'
} ,
labelWidth ( ) {
return this . isMobile ? '100px' : '210px'
} ,
2019-11-03 17:39:07 +00:00
pleromaUser ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === 'Pleroma.User' )
2019-08-09 16:45:25 +00:00
} ,
2019-11-03 17:39:07 +00:00
scheduledActivity ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === 'Pleroma.ScheduledActivity' )
2019-08-15 12:13:14 +00:00
} ,
2019-11-03 17:39:07 +00:00
suggestions ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':suggestions' )
2019-08-09 16:45:25 +00:00
} ,
2019-11-03 17:39:07 +00:00
uriSchemes ( ) {
return this . $store . state . settings . description . find ( setting => setting . key === ':uri_schemes' )
2019-08-09 16:45:25 +00:00
}
} ,
methods : {
getRewritePolicyExpl ( value ) {
const policy = options . rewritePolicyOptions . find ( el => el . value === value )
return policy . expl
} ,
processNestedData ( value , tab , inputName , childName ) {
const updatedValue = { ... this . $store . state . settings . settings [ tab ] [ inputName ] , ... { [ childName ] : value } }
this . updateSetting ( updatedValue , tab , inputName )
} ,
updateSetting ( value , tab , input ) {
this . $store . dispatch ( 'UpdateSettings' , { tab , data : { [ input ] : value } } )
} ,
2019-09-23 19:00:28 +00:00
async onSubmit ( ) {
try {
await this . $store . dispatch ( 'SubmitChanges' )
} catch ( e ) {
return
}
2019-08-09 16:45:25 +00:00
this . $message ( {
type : 'success' ,
message : i18n . t ( 'settings.success' )
} )
}
}
}
< / script >
< style rel = 'stylesheet/scss' lang = 'scss' >
@ import '../styles/main' ;
@ include settings
< / style >