@casl/angular
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -6,2 +6,12 @@ # Change Log | ||
<a name="0.3.0"></a> | ||
# 0.3.0 (2018-05-14) | ||
### Features | ||
* **angular:** supports per field abilities ([8268bb4](https://github.com/stalniy/casl/commit/8268bb4)) | ||
<a name="0.2.0"></a> | ||
@@ -8,0 +18,0 @@ # 0.2.0 (2018-04-26) |
@@ -14,3 +14,3 @@ import { Pipe, ChangeDetectorRef, NgModule } from '@angular/core'; | ||
transform(resource, action) { | ||
transform(resource, action, field) { | ||
if (this.unsubscribeFromAbility === noop) { | ||
@@ -20,7 +20,7 @@ this.unsubscribeFromAbility = this.ability.on('updated', () => this.cd.markForCheck()); | ||
return this.can(action, resource); | ||
return this.can(action, resource, field); | ||
} | ||
can(action, resource) { | ||
return this.ability.can(action, resource); | ||
can(...args) { | ||
return this.ability.can(...args); | ||
} | ||
@@ -27,0 +27,0 @@ |
@@ -1,1 +0,1 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@casl/ability")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@casl/ability"],n):n((e.casl=e.casl||{},e.casl.ng={}),e.ng.core,e.casl)}(this,function(e,n,i){"use strict";var t=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},r=function(){function e(e,n){for(var i=0;i<n.length;i++){var t=n[i];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(n,i,t){return i&&e(n.prototype,i),t&&e(n,t),n}}(),o=function(){},a=function(){function e(n,i){t(this,e),this.ability=n,this.cd=i,this.unsubscribeFromAbility=o}return r(e,[{key:"transform",value:function(e,n){var i=this;return this.unsubscribeFromAbility===o&&(this.unsubscribeFromAbility=this.ability.on("updated",function(){return i.cd.markForCheck()})),this.can(n,e)}},{key:"can",value:function(e,n){return this.ability.can(e,n)}},{key:"ngOnDestroy",value:function(){this.unsubscribeFromAbility()}}]),e}();a.parameters=[[i.Ability],[n.ChangeDetectorRef]],a.annotations=[new n.Pipe({name:"can",pure:!1})];var u=function e(){t(this,e)};u.annotations=[new n.NgModule({declarations:[a],exports:[a],providers:[{provide:i.Ability,useValue:new i.Ability([])}]})],e.CanPipe=a,e.AbilityModule=u,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@casl/ability")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@casl/ability"],n):n((e.casl=e.casl||{},e.casl.ng={}),e.ng.core,e.casl)}(this,function(e,n,i){"use strict";var t=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},r=function(){function e(e,n){for(var i=0;i<n.length;i++){var t=n[i];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(n,i,t){return i&&e(n.prototype,i),t&&e(n,t),n}}(),a=function(){},o=function(){function e(n,i){t(this,e),this.ability=n,this.cd=i,this.unsubscribeFromAbility=a}return r(e,[{key:"transform",value:function(e,n,i){var t=this;return this.unsubscribeFromAbility===a&&(this.unsubscribeFromAbility=this.ability.on("updated",function(){return t.cd.markForCheck()})),this.can(n,e,i)}},{key:"can",value:function(){var e;return(e=this.ability).can.apply(e,arguments)}},{key:"ngOnDestroy",value:function(){this.unsubscribeFromAbility()}}]),e}();o.parameters=[[i.Ability],[n.ChangeDetectorRef]],o.annotations=[new n.Pipe({name:"can",pure:!1})];var u=function e(){t(this,e)};u.annotations=[new n.NgModule({declarations:[o],exports:[o],providers:[{provide:i.Ability,useValue:new i.Ability([])}]})],e.CanPipe=o,e.AbilityModule=u,Object.defineProperty(e,"__esModule",{value:!0})}); |
10
index.js
@@ -41,3 +41,3 @@ import { Pipe, ChangeDetectorRef, NgModule } from '@angular/core'; | ||
key: 'transform', | ||
value: function transform(resource, action) { | ||
value: function transform(resource, action, field) { | ||
var _this = this; | ||
@@ -51,8 +51,10 @@ | ||
return this.can(action, resource); | ||
return this.can(action, resource, field); | ||
} | ||
}, { | ||
key: 'can', | ||
value: function can(action, resource) { | ||
return this.ability.can(action, resource); | ||
value: function can() { | ||
var _ability; | ||
return (_ability = this.ability).can.apply(_ability, arguments); | ||
} | ||
@@ -59,0 +61,0 @@ }, { |
{ | ||
"name": "@casl/angular", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Angular module for CASL which makes it easy to add permissions in any Angular application", | ||
@@ -38,11 +38,11 @@ "main": "dist/umd/index.js", | ||
"peerDependencies": { | ||
"@angular/core": "^2.0.0 || ^4.0.0 || ^5.0.0", | ||
"@angular/core": "^2.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", | ||
"@casl/ability": "^2.0.0-alpha.1" | ||
}, | ||
"devDependencies": { | ||
"@angular/common": "^5.2.7", | ||
"@angular/compiler": "^5.2.7", | ||
"@angular/common": "^6.0.0", | ||
"@angular/compiler": "^6.0.0", | ||
"@angular/core": "latest", | ||
"@angular/platform-browser": "^5.2.7", | ||
"@angular/platform-browser-dynamic": "^5.2.7", | ||
"@angular/platform-browser": "^6.0.0", | ||
"@angular/platform-browser-dynamic": "^6.0.0", | ||
"@casl/ability": "^2.0.0", | ||
@@ -49,0 +49,0 @@ "jest-zone-patch": "0.0.8", |
13695
122