Fix occasion of mounted event of plugins system
This commit is contained in:
parent
8fa8c6173e
commit
f93e0d1755
8
resources/assets/src/components/mixins/emitMounted.ts
Normal file
8
resources/assets/src/components/mixins/emitMounted.ts
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
import Vue from 'vue'
|
||||||
|
import * as emitter from '../../scripts/event'
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
mounted() {
|
||||||
|
emitter.emit('mounted', { el: this.$root.$options.el })
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import loadI18n from './scripts/i18n-text'
|
import loadI18n from './scripts/i18n-text'
|
||||||
import './scripts'
|
import './scripts'
|
||||||
import * as emitter from './scripts/event'
|
|
||||||
import routes from './scripts/route'
|
import routes from './scripts/route'
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
@ -22,9 +21,6 @@ function loadModules() {
|
||||||
// eslint-disable-next-line no-new
|
// eslint-disable-next-line no-new
|
||||||
new Vue({
|
new Vue({
|
||||||
el: route.el,
|
el: route.el,
|
||||||
mounted() {
|
|
||||||
this.$nextTick(() => emitter.emit('mounted', { el: route.el }))
|
|
||||||
},
|
|
||||||
render: h => h(route.component),
|
render: h => h(route.component),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import enablePlugin from '../../components/mixins/enablePlugin'
|
import enablePlugin from '../../components/mixins/enablePlugin'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Market',
|
name: 'Market',
|
||||||
|
|
@ -93,6 +94,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
enablePlugin,
|
enablePlugin,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,7 @@ import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
import serverTable from '../../components/mixins/serverTable'
|
import serverTable from '../../components/mixins/serverTable'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'PlayersManagement',
|
name: 'PlayersManagement',
|
||||||
|
|
@ -123,6 +124,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
serverTable,
|
serverTable,
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import enablePlugin from '../../components/mixins/enablePlugin'
|
import enablePlugin from '../../components/mixins/enablePlugin'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Plugins',
|
name: 'Plugins',
|
||||||
|
|
@ -86,6 +87,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
enablePlugin,
|
enablePlugin,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
import serverTable from '../../components/mixins/serverTable'
|
import serverTable from '../../components/mixins/serverTable'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ReportsManagement',
|
name: 'ReportsManagement',
|
||||||
|
|
@ -58,6 +59,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
serverTable,
|
serverTable,
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,15 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
const POLLING_INTERVAL = 500
|
const POLLING_INTERVAL = 500
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UpdateButton',
|
name: 'UpdateButton',
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data: () => ({
|
data: () => ({
|
||||||
canUpdate: blessing.extra.canUpdate,
|
canUpdate: blessing.extra.canUpdate,
|
||||||
updating: false,
|
updating: false,
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import { trans } from '../../scripts/i18n'
|
import { trans } from '../../scripts/i18n'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
import serverTable from '../../components/mixins/serverTable'
|
import serverTable from '../../components/mixins/serverTable'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UsersManagement',
|
name: 'UsersManagement',
|
||||||
|
|
@ -118,6 +119,7 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
serverTable,
|
serverTable,
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -40,12 +40,16 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Captcha from '../../components/Captcha.vue'
|
import Captcha from '../../components/Captcha.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Forgot',
|
name: 'Forgot',
|
||||||
components: {
|
components: {
|
||||||
Captcha,
|
Captcha,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
props: {
|
props: {
|
||||||
baseUrl: {
|
baseUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -54,12 +54,16 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Captcha from '../../components/Captcha.vue'
|
import Captcha from '../../components/Captcha.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Login',
|
name: 'Login',
|
||||||
components: {
|
components: {
|
||||||
Captcha,
|
Captcha,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
props: {
|
props: {
|
||||||
baseUrl: {
|
baseUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -92,12 +92,16 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Captcha from '../../components/Captcha.vue'
|
import Captcha from '../../components/Captcha.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Register',
|
name: 'Register',
|
||||||
components: {
|
components: {
|
||||||
Captcha,
|
Captcha,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
props: {
|
props: {
|
||||||
baseUrl: {
|
baseUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,13 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Reset',
|
name: 'Reset',
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
uid: +this.$route[1],
|
uid: +this.$route[1],
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,7 @@ import {
|
||||||
} from 'element-ui'
|
} from 'element-ui'
|
||||||
import { queryString, queryStringify } from '../../scripts/utils'
|
import { queryString, queryStringify } from '../../scripts/utils'
|
||||||
import SkinLibItem from '../../components/SkinLibItem.vue'
|
import SkinLibItem from '../../components/SkinLibItem.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
Vue.use(ButtonGroup)
|
Vue.use(ButtonGroup)
|
||||||
Vue.use(Select)
|
Vue.use(Select)
|
||||||
|
|
@ -131,6 +132,9 @@ export default {
|
||||||
Paginate,
|
Paginate,
|
||||||
SkinLibItem,
|
SkinLibItem,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
filter: queryString('filter', 'skin'),
|
filter: queryString('filter', 'skin'),
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,7 @@
|
||||||
import setAsAvatar from '../../components/mixins/setAsAvatar'
|
import setAsAvatar from '../../components/mixins/setAsAvatar'
|
||||||
import addClosetItem from '../../components/mixins/addClosetItem'
|
import addClosetItem from '../../components/mixins/addClosetItem'
|
||||||
import removeClosetItem from '../../components/mixins/removeClosetItem'
|
import removeClosetItem from '../../components/mixins/removeClosetItem'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
import ApplyToPlayerDialog from '../../components/ApplyToPlayerDialog.vue'
|
import ApplyToPlayerDialog from '../../components/ApplyToPlayerDialog.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -176,6 +177,7 @@ export default {
|
||||||
Previewer: () => import('../../components/Previewer.vue'),
|
Previewer: () => import('../../components/Previewer.vue'),
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
addClosetItem,
|
addClosetItem,
|
||||||
removeClosetItem,
|
removeClosetItem,
|
||||||
setAsAvatar,
|
setAsAvatar,
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,7 @@ import Vue from 'vue'
|
||||||
import FileUpload from 'vue-upload-component'
|
import FileUpload from 'vue-upload-component'
|
||||||
import { isSlimSkin } from 'skinview3d'
|
import { isSlimSkin } from 'skinview3d'
|
||||||
import { Radio } from 'element-ui'
|
import { Radio } from 'element-ui'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
Vue.use(Radio)
|
Vue.use(Radio)
|
||||||
|
|
||||||
|
|
@ -112,6 +113,9 @@ export default {
|
||||||
Previewer: () => import('../../components/Previewer.vue'),
|
Previewer: () => import('../../components/Previewer.vue'),
|
||||||
FileUpload,
|
FileUpload,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
name: '',
|
name: '',
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,13 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'BindPlayer',
|
name: 'BindPlayer',
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
players: [],
|
players: [],
|
||||||
|
|
|
||||||
|
|
@ -166,6 +166,7 @@ import ClosetItem from '../../components/ClosetItem.vue'
|
||||||
import EmailVerification from '../../components/EmailVerification.vue'
|
import EmailVerification from '../../components/EmailVerification.vue'
|
||||||
import AddPlayerDialog from '../../components/AddPlayerDialog.vue'
|
import AddPlayerDialog from '../../components/AddPlayerDialog.vue'
|
||||||
import ApplyToPlayerDialog from '../../components/ApplyToPlayerDialog.vue'
|
import ApplyToPlayerDialog from '../../components/ApplyToPlayerDialog.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Closet',
|
name: 'Closet',
|
||||||
|
|
@ -177,6 +178,9 @@ export default {
|
||||||
AddPlayerDialog,
|
AddPlayerDialog,
|
||||||
ApplyToPlayerDialog,
|
ApplyToPlayerDialog,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
props: {
|
props: {
|
||||||
baseUrl: {
|
baseUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,7 @@ import Vue from 'vue'
|
||||||
import { Progress } from 'element-ui'
|
import { Progress } from 'element-ui'
|
||||||
import Tween from '@tweenjs/tween.js'
|
import Tween from '@tweenjs/tween.js'
|
||||||
import EmailVerification from '../../components/EmailVerification.vue'
|
import EmailVerification from '../../components/EmailVerification.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
Vue.use(Progress)
|
Vue.use(Progress)
|
||||||
|
|
||||||
|
|
@ -109,6 +110,9 @@ export default {
|
||||||
components: {
|
components: {
|
||||||
EmailVerification,
|
EmailVerification,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data: () => ({
|
data: () => ({
|
||||||
score: 0,
|
score: 0,
|
||||||
tweenedScore: 0,
|
tweenedScore: 0,
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@
|
||||||
import { VueGoodTable } from 'vue-good-table'
|
import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
import { walkFetch, init } from '../../scripts/net'
|
import { walkFetch, init } from '../../scripts/net'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -110,6 +111,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
],
|
],
|
||||||
data() {
|
data() {
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AddPlayerDialog from '../../components/AddPlayerDialog.vue'
|
import AddPlayerDialog from '../../components/AddPlayerDialog.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Players',
|
name: 'Players',
|
||||||
|
|
@ -168,6 +169,9 @@ export default {
|
||||||
AddPlayerDialog,
|
AddPlayerDialog,
|
||||||
Previewer: () => import('../../components/Previewer.vue'),
|
Previewer: () => import('../../components/Previewer.vue'),
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
props: {
|
props: {
|
||||||
baseUrl: {
|
baseUrl: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
|
||||||
|
|
@ -190,12 +190,16 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import EmailVerification from '../../components/EmailVerification.vue'
|
import EmailVerification from '../../components/EmailVerification.vue'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Profile',
|
name: 'Profile',
|
||||||
components: {
|
components: {
|
||||||
EmailVerification,
|
EmailVerification,
|
||||||
},
|
},
|
||||||
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
|
],
|
||||||
data: () => ({
|
data: () => ({
|
||||||
oldPassword: '',
|
oldPassword: '',
|
||||||
newPassword: '',
|
newPassword: '',
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
import { VueGoodTable } from 'vue-good-table'
|
import { VueGoodTable } from 'vue-good-table'
|
||||||
import 'vue-good-table/dist/vue-good-table.min.css'
|
import 'vue-good-table/dist/vue-good-table.min.css'
|
||||||
import tableOptions from '../../components/mixins/tableOptions'
|
import tableOptions from '../../components/mixins/tableOptions'
|
||||||
|
import emitMounted from '../../components/mixins/emitMounted'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MyReports',
|
name: 'MyReports',
|
||||||
|
|
@ -36,6 +37,7 @@ export default {
|
||||||
VueGoodTable,
|
VueGoodTable,
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
|
emitMounted,
|
||||||
tableOptions,
|
tableOptions,
|
||||||
],
|
],
|
||||||
props: {
|
props: {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user