wip
This commit is contained in:
parent
4167aac7dd
commit
37b26504e3
|
@ -32,11 +32,9 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
import { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons';
|
import { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons';
|
||||||
import copyToClipboard from '@/scripts/copy-to-clipboard';
|
|
||||||
//import updateAvatar from '../api/update-avatar';
|
|
||||||
//import updateBanner from '../api/update-banner';
|
|
||||||
import XFileThumbnail from './drive-file-thumbnail.vue';
|
|
||||||
import { faDownload, faLink, faICursor, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
|
import { faDownload, faLink, faICursor, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import copyToClipboard from '@/scripts/copy-to-clipboard';
|
||||||
|
import XFileThumbnail from './drive-file-thumbnail.vue';
|
||||||
import bytes from '../filters/bytes';
|
import bytes from '../filters/bytes';
|
||||||
import * as os from '@/os';
|
import * as os from '@/os';
|
||||||
|
|
||||||
|
@ -162,11 +160,11 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
setAsAvatar() {
|
setAsAvatar() {
|
||||||
updateAvatar(this.$root)(this.file);
|
os.updateAvatar(this.file);
|
||||||
},
|
},
|
||||||
|
|
||||||
setAsBanner() {
|
setAsBanner() {
|
||||||
updateBanner(this.$root)(this.file);
|
os.updateBanner(this.file);
|
||||||
},
|
},
|
||||||
|
|
||||||
addApp() {
|
addApp() {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<x-window ref="window" :width="400" :height="450" :no-padding="true" @closed="() => { $emit('closed'); destroyDom(); }" :with-ok-button="true" :ok-button-disabled="false" @ok="ok()" :can-close="false">
|
<x-window ref="window" :width="400" :height="450" :no-padding="true" @close="$emit('done')" :with-ok-button="true" :ok-button-disabled="false" @ok="ok()" :can-close="false">
|
||||||
<template #header>
|
<template #header>
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</template>
|
</template>
|
||||||
|
@ -53,6 +53,8 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
emits: ['done'],
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
values: {}
|
values: {}
|
||||||
|
@ -61,14 +63,13 @@ export default defineComponent({
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
for (const item in this.form) {
|
for (const item in this.form) {
|
||||||
Vue.set(this.values, item, this.form[item].hasOwnProperty('default') ? this.form[item].default : null);
|
this.values[item] = this.form[item].hasOwnProperty('default') ? this.form[item].default : null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
ok() {
|
ok() {
|
||||||
this.$emit('ok', this.values);
|
this.$emit('done', this.values);
|
||||||
this.$refs.window.close();
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -144,6 +144,27 @@ export function dialog(props: Record<string, any>, opts?: { cancelableByBgClick:
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function form(title, form, opts?) {
|
||||||
|
return new PCancelable((resolve, reject, onCancel) => {
|
||||||
|
const dialog = modal(defineAsyncComponent(() => import('@/components/form-window.vue')), { title, form }, {}, { cancelableByBgClick: opts?.cancelableByBgClick });
|
||||||
|
|
||||||
|
dialog.then(result => {
|
||||||
|
if (result) {
|
||||||
|
resolve(result);
|
||||||
|
} else {
|
||||||
|
resolve({ canceled: true });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
dialog.catch(reject);
|
||||||
|
|
||||||
|
onCancel.shouldReject = false;
|
||||||
|
onCancel(() => {
|
||||||
|
dialog.cancel();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export async function selectUser() {
|
export async function selectUser() {
|
||||||
const component = await import('@/components/user-select.vue');
|
const component = await import('@/components/user-select.vue');
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
<router-link class="_panel _buttonPrimary" to="/my/apps" style="margin: var(--margin) auto;">{{ $t('installedApps') }}</router-link>
|
<router-link class="_panel _buttonPrimary" to="/my/apps" style="margin: var(--margin) auto;">{{ $t('installedApps') }}</router-link>
|
||||||
|
|
||||||
<button class="_panel _buttonPrimary" @click="$root.signout()" style="margin: var(--margin) auto;">{{ $t('logout') }}</button>
|
<button class="_panel _buttonPrimary" @click="signout()" style="margin: var(--margin) auto;">{{ $t('logout') }}</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -133,6 +133,11 @@ export default defineComponent({
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
signout() {
|
||||||
|
this.$store.dispatch('logout');
|
||||||
|
location.href = '/';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -173,7 +173,7 @@ export default defineComponent({
|
||||||
config[key].default = this.selectedPlugin.configData[key];
|
config[key].default = this.selectedPlugin.configData[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
const { canceled, result } = await this.$root.form(this.selectedPlugin.name, config);
|
const { canceled, result } = await os.form(this.selectedPlugin.name, config);
|
||||||
if (canceled) return;
|
if (canceled) return;
|
||||||
|
|
||||||
this.$store.commit('deviceUser/configPlugin', {
|
this.$store.commit('deviceUser/configPlugin', {
|
||||||
|
|
|
@ -51,7 +51,7 @@ export default function <T extends Form>(data: {
|
||||||
for (const item of Object.keys(form)) {
|
for (const item of Object.keys(form)) {
|
||||||
form[item].default = this.props[item];
|
form[item].default = this.props[item];
|
||||||
}
|
}
|
||||||
const { canceled, result } = await this.$root.form(data.name, form);
|
const { canceled, result } = await os.form(data.name, form);
|
||||||
if (canceled) return;
|
if (canceled) return;
|
||||||
|
|
||||||
for (const key of Object.keys(result)) {
|
for (const key of Object.keys(result)) {
|
||||||
|
|
Loading…
Reference in New Issue