1
1
mirror of https://github.com/aelve/guide.git synced 2024-12-25 13:51:45 +03:00
guide/front/client/entry.client.ts
Gigiman 3d8fee8c5c
Category description add edit (#251)
* Migrate routing from prod to new front v 0.5

* migrate category link to new fron v 0.5.5

* migrate category link to new fron v 0.0.8

* migrate category link to new-front caching issue

* window bug fix

* Category description v 0.0.1

* formatting and unnecessary quote marks deleted

* fix originalDescription assignment

* Added category description edit/add

* Added 409 error handling (need to add functionaly to buttons)

* changed: added emit for conflict popup

* changed: added api request to conflict handlng

* rename Article -> Category, ArticleContent -> CategoryItem

* minor rename fix

* changed: moved all description changes to a single function, emit call fixes, minor style fixes

* changed: category description conflict data sent to api fixes

* refactoring bug fix

* fix: if description exists no description shown in textarea

* fix: empty field in the Dialog

* changed: emit event from conflict-dialog refactoring and fix

* changed: 400 api error fix

* changed: old summary blink bug six

* minor fix

* hotfix: textare bug fix

* api change fix

* minor fix

* changed: fixed several time description saves failing

* Merge with develop - many bugs

* merge with develop - critical bug fix

* merge with develop bug-fixes

* refactoring

* bug fixes

* changed: replace textarea to markdown in category description. Need to do same with conflict dialog

* changed: resolved linter warnings, added markdown to merged window in conflicts dialog

* minor fix

* cancel, text-wrap fix

* minor fix

* minor fix

* minor fix and uid -> id in addDescription

* changed: minor fix 2

* small changes

* small refactoring

* part of refactoring, btn text bug fix

* move no-category description stub to same div where category description is being loaded

* move category to own component

* minor fixes, enable mobile layout

* small change

* small changes

* slot removed

* small changes

* throw err moved to else statement

* small changes

* minor fix

* small changes

* description button text and icon refactoring

* add description btn icon/text small refactoring
2019-02-04 12:57:28 +05:00

57 lines
1.5 KiB
TypeScript

import Vue from 'vue'
import 'reflect-metadata'
import 'babel-polyfill'
import _get from 'lodash/get'
import { createApp } from './app'
const { app, router, store } = createApp()
const STATE_KEY = '__INITIAL_STATE__'
if (window[STATE_KEY]) {
store.replaceState(window[STATE_KEY])
}
router.onReady(() => {
registerBeforeResolve()
app.$mount('#app')
})
function registerBeforeResolve () {
router.afterEach(async (to, from) => {
Vue.nextTick(() => {
for (const matchedRoute of to.matched) {
const componentsInstances = Object.values(matchedRoute.instances)
.filter(Boolean)
const matchedComponentsAndChildren = componentsInstances
.reduce((acc, matchedComponent) => {
const componentAndItsChildren = getComponentAndItsChildren(matchedComponent)
acc = acc.concat(componentAndItsChildren)
return acc
}, [])
matchedComponentsAndChildren.map(component => {
if (typeof component.asyncData === 'function') {
return component.$nextTick(() => component.asyncData())
}
})
}
})
})
}
function getComponentAndItsChildren (component, result?) {
if (!result) {
result = []
}
if (!result.includes(component)) {
result.push(component)
}
const children = Object.values(component.$children)
// Parent component is also presents in components object
.filter(x => x !== component)
children.forEach(x => getComponentAndItsChildren(x, result))
return result
}