I am trying to get a hang of what is accessible via locker and what elements are not. Following through threads in this forum, I realized there are some components that are genuinely locked by locker service and there are some that are user errors. I am having hard time isolating the noise from the real issues caused by locker service.
As per docs the golden rule seems to be locker will not allow access to any component that is not served from the same namespace. If this is the case why are people complaining about locker disabling access to Jquery, full calendar kinda external libraries when loading from static resource with locker service enabled?
eg:Cross-Origin Frame Error in Lightning Component embedded in Salesforce Console
Issues with running LockerService, d3, and Lightning components
The docs :https://developer.salesforce.com/blogs/developer-relations/2016/04/introducing-lockerservice-lightning-components.html say
Can I use 3rd party libraries (React, Angular, etc) if running in Locker?
**Yes, provided they are served from Static Resources and approved by security**.
1) Is there a comprehensive doc that shows what is not accessible and what is accessible when locker is enabled? I see a conditional clause of if approved by security, is there a list of what's approved by security?
2) With summer 17 locker will be enabled by default. Is there a global variable/method that will indicate if permission to access a DOM element is granted or not?
I am thinking along the line of iseditable(), isdeletable() in apex terms. If the component is denied access due to locker service is there an easy way to check
if(lockerprovidedaccess){
console.log('Locker granted access, do all manipulations you need to');
}
else{
console.log('Locker disabled access');
}
Correct me if I am confusing myself with too many terminologies.