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 () => ({
|
export default () => ({
|
||||||
enforce: 'pre',
|
enforce: 'pre',
|
||||||
test: /\.(tag|js)$/,
|
test: /\.(vue|js)$/,
|
||||||
exclude: /node_modules/,
|
exclude: /node_modules/,
|
||||||
loader: StringReplacePlugin.replace({
|
loader: StringReplacePlugin.replace({
|
||||||
replacements: [{
|
replacements: [{
|
||||||
|
Loading…
Reference in New Issue
Block a user