lnbits-legend/lnbits/static/js/components/extension-settings.js

70 lines
1.7 KiB
JavaScript
Raw Normal View History

window.app.component('lnbits-extension-settings-form', {
name: 'lnbits-extension-settings-form',
template: '#lnbits-extension-settings-form',
props: ['options', 'adminkey', 'endpoint'],
methods: {
async updateSettings() {
if (!this.settings) {
return Quasar.Notify.create({
message: 'No settings to update',
type: 'negative'
})
}
try {
const {data} = await LNbits.api.request(
'PUT',
this.endpoint,
this.adminkey,
this.settings
)
this.settings = data
} catch (error) {
LNbits.utils.notifyApiError(error)
}
},
async getSettings() {
try {
const {data} = await LNbits.api.request(
'GET',
this.endpoint,
this.adminkey
)
this.settings = data
} catch (error) {
LNbits.utils.notifyApiError(error)
}
},
async resetSettings() {
LNbits.utils
.confirmDialog('Are you sure you want to reset the settings?')
.onOk(async () => {
try {
await LNbits.api.request('DELETE', this.endpoint, this.adminkey)
await this.getSettings()
} catch (error) {
LNbits.utils.notifyApiError(error)
}
})
}
},
async created() {
await this.getSettings()
},
data() {
return {
settings: undefined
}
}
})
window.app.component('lnbits-extension-settings-btn-dialog', {
template: '#lnbits-extension-settings-btn-dialog',
name: 'lnbits-extension-settings-btn-dialog',
props: ['options', 'adminkey', 'endpoint'],
data() {
return {
show: false
}
}
})