Permission directive in AngularJS -
let's want have directive checks permission. coud this:
<a permissions="something.delete">delete</a>   if "something.delete" in list of allowed permissions nothing rendered.
having code:
link: function (scope, element, attrs) {    var permissionspromise = permissionservice.checkforpermissions(attrs.permissions);     permissionspromise.then(function(result) {      if (result=== false) {         element.remove();      }   }) }   but because permissionservice.checkforpermissions() returns promise, may take time figure out permissions, meanwhile link function render a-element before knowing result of permission-check.
what proper solution fix issue?
reverse logic , hide element default , show based on promise value.
something along lines of elem[0].style.display = 'none' -> elem[0].style.display = 'block'
ask real goal, aren't implementing permissions checking on client-side (or shouldn't be). should more provide user correct ui experience. if want remove altogether keep reference parent element, remove element, , when promise returns append parent .. or not.
Comments
Post a Comment