@afeefa/vue-app 0.0.106 → 0.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 0.0.106
1
+ 0.0.108
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@afeefa/vue-app",
3
- "version": "0.0.106",
3
+ "version": "0.0.108",
4
4
  "description": "",
5
5
  "author": "Afeefa Kollektiv <kollektiv@afeefa.de>",
6
6
  "license": "MIT",
@@ -2,6 +2,7 @@ import './config/event-bus'
2
2
  import './config/components'
3
3
  import './directives'
4
4
 
5
+ import { hasRightsPlugin } from '@a-admin/plugins/translation/HasRightsPlugin'
5
6
  import { translationPlugin } from '@a-admin/plugins/translation/TranslationPlugin'
6
7
  import { apiResourcesPlugin } from '@a-vue/plugins/api-resources/ApiResourcesPlugin'
7
8
  import { hasOptionsPlugin } from '@a-vue/plugins/has-options/HasOptionsPlugin'
@@ -44,6 +45,8 @@ export async function bootstrap ({ apis, models, routing, authService, getTransl
44
45
  }
45
46
 
46
47
  if (authService) {
48
+ Vue.use(hasRightsPlugin)
49
+
47
50
  authService.initApp(router)
48
51
  }
49
52
 
@@ -1,4 +1,4 @@
1
- import { Component, Vue } from '@a-vue'
1
+ import { Component, Watch, Vue } from '@a-vue'
2
2
 
3
3
  Component.registerHooks([
4
4
  'beforeRouteEnter',
@@ -36,39 +36,36 @@ function load (route) {
36
36
 
37
37
  @Component
38
38
  export class DataRouteMixin extends Vue {
39
- drm_isLoaded = false
40
-
41
39
  async beforeRouteEnter (to, from, next) {
42
40
  routerHookCalled = true
43
41
  const result = await load(to)
44
-
45
42
  next(vm => {
46
43
  if (result !== false) {
47
44
  vm.drm_onLoad(result)
48
- vm.drm_isLoaded = true
49
45
  }
50
46
  routerHookCalled = false
51
47
  })
52
48
  }
53
49
 
54
- /**
55
- * triggered both, if route name or route params change
56
- @Watch('$route.params')
57
- async routeParamsChanged () {
58
- if (routerHookCalled) {
59
- return
60
- }
61
50
 
62
- if (!this.drm_isLoaded) {
63
- const result = await load(this.$route)
51
+ // watches (if defined) route idKey and reloads data if changed
52
+ @Watch('drm_id')
53
+ async routeParamsChanged () {
54
+ if (routerHookCalled) {
55
+ return
56
+ }
57
+
58
+ const result = await load(this.$route)
59
+
60
+ if (result !== false) {
61
+ this.drm_onLoad(result)
62
+ }
63
+ }
64
64
 
65
- if (result !== false) {
66
- this.drm_onLoad(result)
67
- this.drm_isLoaded = true
68
- }
69
- }
70
- }
71
- */
65
+ // return route config idKey
66
+ get drm_id () {
67
+ return this.$route.params[this.$routeDefinition.idKey]
68
+ }
72
69
 
73
70
  drm_onLoad (result) {
74
71
  onLoadCallback(this, result)
@@ -0,0 +1,15 @@
1
+ import { authService } from '@k-vue/auth/AuthService'
2
+
3
+ class HasRightsPlugin {
4
+ install (Vue) {
5
+ Vue.mixin({
6
+ created () {
7
+ this.$hasRight = name => {
8
+ return authService.currentAccountHasRight(name)
9
+ }
10
+ }
11
+ })
12
+ }
13
+ }
14
+
15
+ export const hasRightsPlugin = new HasRightsPlugin()