Skip to content

Commit 17aabbf

Browse files
committed
added mixins
1 parent db8e8a5 commit 17aabbf

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed

resources/js/mixins/acl.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
export default {
2+
methods: {
3+
isLoggedIn() {
4+
return !!this.$page.auth.isLoggedIn;
5+
},
6+
hasRole(payload) {
7+
let me = this.$page.auth.user;
8+
return _.includes(me.roles, payload);
9+
},
10+
hasPermission(payload) {
11+
let me = this.$page.auth.user;
12+
return _.includes(me.permissions, payload);
13+
},
14+
hasAnyPermission(permissions) {
15+
let me = this.$page.auth.user;
16+
return permissions.some(p => me.permissions.includes(p));
17+
},
18+
hasAnyRole(roles) {
19+
let me = this.$page.auth.user;
20+
return roles.some(r => me.roles.includes(r));
21+
},
22+
hasAllRoles(roles) {
23+
let me = this.$page.auth.user;
24+
return _.difference(roles, me.roles).length === 0;
25+
},
26+
hasAllPermissions(permissions) {
27+
let me = this.$page.auth.user;
28+
return _.difference(permissions, me.permissions).length === 0;
29+
},
30+
can(permission) {
31+
return this.$page.auth.user.can[permission];
32+
},
33+
},
34+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export default {
2+
methods: {
3+
confirmed(cb) {
4+
let self = this;
5+
return params => {
6+
cb(params);
7+
};
8+
},
9+
openDialog(item) {
10+
Bus.$emit("open-confirmation", item);
11+
},
12+
openMassDialog(selected) {
13+
Bus.$emit("open-mass-confirm-dialog", selected);
14+
}
15+
}
16+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
export default {
2+
/* this mixins is responsible for concatinating error messages from vform and vee-validate */
3+
methods: {
4+
/* errorBag is relataed to veeValidate config name*/
5+
/* form is related to vform - removed not used */
6+
/* this.$page.errors is related to session errors return by laravel */
7+
errorMessages(field) {
8+
if (this.$page.errors[field]) {
9+
return this.errors
10+
.collect(field)
11+
.concat(this.$page.errors[field]);
12+
}
13+
return this.errors.collect(field);
14+
},
15+
hasErrors(field) {
16+
let errors = this.errors
17+
.collect(field)
18+
.concat(this.form.errors.only(field));
19+
if (errors.length > 0) {
20+
return true;
21+
}
22+
return false;
23+
},
24+
},
25+
};

0 commit comments

Comments
 (0)