mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* Update dependency prettier to v2.5.1 * prettier fixes * chore(toolkit): bump prettier to 2.5.1 * style(eslint): bump grafana config to 2.5.2 in core and toolkit * style(mssql-datasource): fix no-inferrable-types eslint errors Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com> Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { coreModule } from './core_module';
|
||
import { RouteProvider } from '../core/navigation/patch/RouteProvider';
|
||
import { RouteParamsProvider } from '../core/navigation/patch/RouteParamsProvider';
|
||
import { ILocationService } from 'angular';
|
||
import { AngularLocationWrapper } from './AngularLocationWrapper';
|
||
|
||
// Neutralizing Angular’s location tampering
|
||
// https://stackoverflow.com/a/19825756
|
||
const tamperAngularLocation = () => {
|
||
coreModule.config([
|
||
'$provide',
|
||
($provide: any) => {
|
||
$provide.decorator('$browser', [
|
||
'$delegate',
|
||
($delegate: any) => {
|
||
$delegate.onUrlChange = () => {};
|
||
$delegate.url = () => '';
|
||
|
||
return $delegate;
|
||
},
|
||
]);
|
||
},
|
||
]);
|
||
};
|
||
|
||
// Intercepting $location service with implementation based on history
|
||
const interceptAngularLocation = () => {
|
||
coreModule.config([
|
||
'$provide',
|
||
($provide: any) => {
|
||
$provide.decorator('$location', [
|
||
'$delegate',
|
||
($delegate: ILocationService) => {
|
||
$delegate = new AngularLocationWrapper() as unknown as ILocationService;
|
||
return $delegate;
|
||
},
|
||
]);
|
||
},
|
||
]);
|
||
coreModule.provider('$route', RouteProvider);
|
||
coreModule.provider('$routeParams', RouteParamsProvider);
|
||
};
|
||
|
||
export function initAngularRoutingBridge() {
|
||
tamperAngularLocation();
|
||
interceptAngularLocation();
|
||
}
|