mirror of
https://github.com/hotomoe/hotomoe
synced 2024-11-28 23:08:17 +09:00
wip
This commit is contained in:
parent
a89aea142b
commit
1febbbb12c
51
src/web/app/common/define-widget.ts
Normal file
51
src/web/app/common/define-widget.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import Vue from 'vue';
|
||||
|
||||
export default function(data: {
|
||||
name: string;
|
||||
props: any;
|
||||
}) {
|
||||
return Vue.extend({
|
||||
props: {
|
||||
wid: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
place: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
wprops: {
|
||||
type: Object,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
id(): string {
|
||||
return this.wid;
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
props: data.props
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
props(newProps, oldProps) {
|
||||
if (JSON.stringify(newProps) == JSON.stringify(oldProps)) return;
|
||||
this.$root.$data.os.api('i/update_home', {
|
||||
id: this.id,
|
||||
data: newProps
|
||||
}).then(() => {
|
||||
this.$root.$data.os.i.client_settings.home.find(w => w.id == this.id).data = newProps;
|
||||
});
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.props) {
|
||||
Object.keys(this.wprops).forEach(prop => {
|
||||
this.props[prop] = this.props.data.hasOwnProperty(prop) ? this.props.data[prop] : this.props[prop];
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
5
src/web/app/common/views/components/widgets/profile.vue
Normal file
5
src/web/app/common/views/components/widgets/profile.vue
Normal file
@ -0,0 +1,5 @@
|
||||
<template>
|
||||
<div class="mkw-profile">
|
||||
|
||||
</div>
|
||||
</template>
|
@ -7,7 +7,7 @@ import { licenseHtml } from '../../../src/common/build/license';
|
||||
|
||||
export default () => ({
|
||||
enforce: 'pre',
|
||||
test: /\.(tag|js)$/,
|
||||
test: /\.(vue|js)$/,
|
||||
exclude: /node_modules/,
|
||||
loader: StringReplacePlugin.replace({
|
||||
replacements: [{
|
||||
|
Loading…
Reference in New Issue
Block a user