mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
Add useful console debugging tool
This commit is contained in:
parent
144044f4dc
commit
2ef9779cd6
47
awx/ui/static/js/ng-console.js
Normal file
47
awx/ui/static/js/ng-console.js
Normal file
@ -0,0 +1,47 @@
|
||||
// THIS FILE ONLY INCLUDED IN DEBUG BUILDS
|
||||
//
|
||||
// To use:
|
||||
//
|
||||
// Open a console in Chrome DevTools and load this
|
||||
// script with:
|
||||
//
|
||||
// require('tower/ng-console');
|
||||
//
|
||||
// Then go to the Elements tab and drill down to any
|
||||
// element within the angular app. Go back to the console
|
||||
// and you can access the scope for the selected element
|
||||
// using the variable $scope.
|
||||
//
|
||||
var ngAppElem = angular.element(document.querySelector('[ng-app]') || document);
|
||||
|
||||
window.injector = ngAppElem.injector();
|
||||
window.inject = window.injector.invoke;
|
||||
window.$rootScope = ngAppElem.scope();
|
||||
|
||||
// getService('auth') will create a variable `auth` assigned to the service `auth`.
|
||||
//
|
||||
window.getService = function getService(serviceName) {
|
||||
window.inject([serviceName, function (s) {window[serviceName] = s;}]);
|
||||
};
|
||||
|
||||
Object.defineProperty(window, '$scope', {
|
||||
get: function () {
|
||||
var elem = angular.element(__commandLineAPI.$0);
|
||||
return elem.isolateScope() || elem.scope();
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* USAGE
|
||||
*
|
||||
* First copy the script and paste it in Chrome DevTools in Sources -> left pane -> Snippets.
|
||||
* Then, after loading an Angular page, right click on the snippet and choose "run".
|
||||
* Afterwards, you have the following available in the console:
|
||||
*
|
||||
* 1) $rootScope
|
||||
* 2) inject(function ($q, $compile) { ...use $q and $compile here... });
|
||||
* 3) click on an element in DevTools; now $scope in the console points at the element scope (isolate if one exists).
|
||||
*
|
||||
* Enjoy!
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user