use vue in place of php tpl engine to render settings template

This commit is contained in:
huangjx
2022-02-22 17:34:23 +08:00
parent 23a593c987
commit 2efdd2ddfb
7 changed files with 145 additions and 46 deletions

View File

@@ -11,17 +11,32 @@ import App from './App';
import tippy, { delegate } from 'tippy.js';
import 'tippy.js/dist/tippy.css';
'use strict'
import settingsBar from './settingsBar';
const basePath = "/apps/ncdownloader";
window.addEventListener('DOMContentLoaded', function () {
helper.showErrors('[data-error-message]');
// inputAction.run();
updatePage.run();
buttonActions.run();
let container = 'ncdownloader-form-wrapper';
const settingsID = "app-settings-content";
let app = createApp(App);
let bar = createApp(settingsBar);
let values;
try {
const barEle = document.getElementById(settingsID);
let settings = barEle.getAttribute("data-settings");
values = JSON.parse(settings);
} catch (e) {
values = {}
console.log(e);
}
bar.provide('settings', values);
bar.mount("#" + settingsID);
let vm = app.mount('#' + container);
helper.addVue(vm.$options.name, vm);
@@ -67,7 +82,7 @@ window.addEventListener('DOMContentLoaded', function () {
const url = helper.generateUrl(basePath + "/personal/save");
Http.getInstance(url).setData(data).setHandler(resp => {
if (resp['message']) {
helper.message(t("ncdownloader", resp['message']),1000);
helper.message(t("ncdownloader", resp['message']), 1000);
}
}).send();
})