UNPKG

ontimize-web-ngx

Version:
46 lines 6.58 kB
import { Util } from './util'; export class PermissionsUtils { static checkEnabledPermission(permission) { if (Util.isDefined(permission) && permission.enabled === false) { console.warn('MESSAGES.OPERATION_NOT_ALLOWED_PERMISSION'); return false; } return true; } static registerDisabledChangesInDom(nativeElement, args) { const callback = args && args.callback ? args.callback : PermissionsUtils.setDisabledDOMElement; const checkStringValue = !!(args && args.checkStringValue); if (!Util.isDefined(nativeElement)) { return undefined; } const mutationObserver = new MutationObserver((mutations) => { const mutation = mutations[0]; if (mutation.type === 'attributes' && mutation.attributeName === 'disabled') { const attribute = mutation.target.attributes.getNamedItem('disabled'); if (attribute === null || (checkStringValue && attribute.value !== 'true')) { callback(mutation); } } }); mutationObserver.observe(nativeElement, { attributes: true, attributeFilter: ['disabled'] }); return mutationObserver; } static setDisabledDOMElement(mutation) { const element = mutation.target; element.setAttribute('disabled', 'true'); } } PermissionsUtils.ACTION_REFRESH = 'refresh'; PermissionsUtils.ACTION_INSERT = 'insert'; PermissionsUtils.ACTION_UPDATE = 'update'; PermissionsUtils.ACTION_DELETE = 'delete'; PermissionsUtils.STANDARD_ACTIONS = [ PermissionsUtils.ACTION_REFRESH, PermissionsUtils.ACTION_INSERT, PermissionsUtils.ACTION_UPDATE, PermissionsUtils.ACTION_DELETE ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9wZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sT0FBTyxnQkFBZ0I7SUFhM0IsTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQXdCO1FBQ3BELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTtZQUM5RCxPQUFPLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxhQUFrQixFQUFFLElBQVU7UUFDaEUsTUFBTSxRQUFRLEdBQWEsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO1FBQzFHLE1BQU0sZ0JBQWdCLEdBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBMkIsRUFBRSxFQUFFO1lBQzVFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLFFBQVEsQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFO2dCQUMzRSxNQUFNLFNBQVMsR0FBSSxRQUFRLENBQUMsTUFBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9FLElBQUksU0FBUyxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLFNBQVMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEVBQUU7b0JBQzFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDcEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN0QyxVQUFVLEVBQUUsSUFBSTtZQUNoQixlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQXdCO1FBQ25ELE1BQU0sT0FBTyxHQUFxQixRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7O0FBaERhLCtCQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLDhCQUFhLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLDhCQUFhLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLDhCQUFhLEdBQUcsUUFBUSxDQUFDO0FBRXpCLGlDQUFnQixHQUFHO0lBQy9CLGdCQUFnQixDQUFDLGNBQWM7SUFDL0IsZ0JBQWdCLENBQUMsYUFBYTtJQUM5QixnQkFBZ0IsQ0FBQyxhQUFhO0lBQzlCLGdCQUFnQixDQUFDLGFBQWE7Q0FDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9QZXJtaXNzaW9ucyB9IGZyb20gJy4uL3R5cGVzL28tcGVybWlzc2lvbnMudHlwZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIEFDVElPTl9SRUZSRVNIID0gJ3JlZnJlc2gnO1xuICBwdWJsaWMgc3RhdGljIEFDVElPTl9JTlNFUlQgPSAnaW5zZXJ0JztcbiAgcHVibGljIHN0YXRpYyBBQ1RJT05fVVBEQVRFID0gJ3VwZGF0ZSc7XG4gIHB1YmxpYyBzdGF0aWMgQUNUSU9OX0RFTEVURSA9ICdkZWxldGUnO1xuXG4gIHB1YmxpYyBzdGF0aWMgU1RBTkRBUkRfQUNUSU9OUyA9IFtcbiAgICBQZXJtaXNzaW9uc1V0aWxzLkFDVElPTl9SRUZSRVNILFxuICAgIFBlcm1pc3Npb25zVXRpbHMuQUNUSU9OX0lOU0VSVCxcbiAgICBQZXJtaXNzaW9uc1V0aWxzLkFDVElPTl9VUERBVEUsXG4gICAgUGVybWlzc2lvbnNVdGlscy5BQ1RJT05fREVMRVRFXG4gIF07XG5cbiAgc3RhdGljIGNoZWNrRW5hYmxlZFBlcm1pc3Npb24ocGVybWlzc2lvbjogT1Blcm1pc3Npb25zKTogYm9vbGVhbiB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHBlcm1pc3Npb24pICYmIHBlcm1pc3Npb24uZW5hYmxlZCA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnNvbGUud2FybignTUVTU0FHRVMuT1BFUkFUSU9OX05PVF9BTExPV0VEX1BFUk1JU1NJT04nKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBzdGF0aWMgcmVnaXN0ZXJEaXNhYmxlZENoYW5nZXNJbkRvbShuYXRpdmVFbGVtZW50OiBhbnksIGFyZ3M/OiBhbnkpOiBNdXRhdGlvbk9ic2VydmVyIHtcbiAgICBjb25zdCBjYWxsYmFjazogRnVuY3Rpb24gPSBhcmdzICYmIGFyZ3MuY2FsbGJhY2sgPyBhcmdzLmNhbGxiYWNrIDogUGVybWlzc2lvbnNVdGlscy5zZXREaXNhYmxlZERPTUVsZW1lbnQ7XG4gICAgY29uc3QgY2hlY2tTdHJpbmdWYWx1ZTogYm9vbGVhbiA9ICEhKGFyZ3MgJiYgYXJncy5jaGVja1N0cmluZ1ZhbHVlKTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKG5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICBjb25zdCBtdXRhdGlvbiA9IG11dGF0aW9uc1swXTtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycgJiYgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSAobXV0YXRpb24udGFyZ2V0IGFzIGFueSkuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2Rpc2FibGVkJyk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUgPT09IG51bGwgfHwgKGNoZWNrU3RyaW5nVmFsdWUgJiYgYXR0cmlidXRlLnZhbHVlICE9PSAndHJ1ZScpKSB7XG4gICAgICAgICAgY2FsbGJhY2sobXV0YXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUobmF0aXZlRWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCddXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbXV0YXRpb25PYnNlcnZlcjtcbiAgfVxuXG4gIHN0YXRpYyBzZXREaXNhYmxlZERPTUVsZW1lbnQobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IDxIVE1MSW5wdXRFbGVtZW50Pm11dGF0aW9uLnRhcmdldDtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICB9XG59XG4iXX0=