From 843fc7df9f4e9841f8e566f6f62136c07a432a53 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Wed, 20 Feb 2019 12:07:16 -0800 Subject: [PATCH] Revert "feat(router): add hash-based navigation option to setUpLocationSync (#28609)" This reverts commit fc895ba1893d08813f931c8794c7db97782f1c36. This is change is a feature and doesn't belong on the patch branch. --- packages/router/upgrade/src/upgrade.ts | 13 ++-------- packages/router/upgrade/test/upgrade.spec.ts | 25 -------------------- tools/public_api_guard/router/upgrade.d.ts | 2 +- 3 files changed, 3 insertions(+), 37 deletions(-) diff --git a/packages/router/upgrade/src/upgrade.ts b/packages/router/upgrade/src/upgrade.ts index e6fd41c888..ae0cd19750 100644 --- a/packages/router/upgrade/src/upgrade.ts +++ b/packages/router/upgrade/src/upgrade.ts @@ -58,7 +58,7 @@ export function locationSyncBootstrapListener(ngUpgrade: UpgradeModule) { * * @publicApi */ -export function setUpLocationSync(ngUpgrade: UpgradeModule, urlType: 'path' | 'hash' = 'path') { +export function setUpLocationSync(ngUpgrade: UpgradeModule) { if (!ngUpgrade.$injector) { throw new Error(` RouterUpgradeInitializer can be used only after UpgradeModule.bootstrap has been called. @@ -71,16 +71,7 @@ export function setUpLocationSync(ngUpgrade: UpgradeModule, urlType: 'path' | 'h ngUpgrade.$injector.get('$rootScope') .$on('$locationChangeStart', (_: any, next: string, __: string) => { - let url; - if (urlType === 'path') { - url = resolveUrl(next); - } else if (urlType === 'hash') { - // Remove the first hash from the URL - const hashIdx = next.indexOf('#'); - url = resolveUrl(next.substring(0, hashIdx) + next.substring(hashIdx + 1)); - } else { - throw 'Invalid URLType passed to setUpLocationSync: ' + urlType; - } + const url = resolveUrl(next); const path = location.normalize(url.pathname); router.navigateByUrl(path + url.search + url.hash); }); diff --git a/packages/router/upgrade/test/upgrade.spec.ts b/packages/router/upgrade/test/upgrade.spec.ts index 03a8c5a265..abbb7cb9a8 100644 --- a/packages/router/upgrade/test/upgrade.spec.ts +++ b/packages/router/upgrade/test/upgrade.spec.ts @@ -79,30 +79,6 @@ describe('setUpLocationSync', () => { expect(RouterMock.navigateByUrl).toHaveBeenCalledWith(normalizedPathname + query + hash); }); - it('should allow configuration to work with hash-based routing', () => { - const url = 'https://google.com'; - const pathname = '/custom/route'; - const normalizedPathname = 'foo'; - const query = '?query=1&query2=3'; - const hash = '#new/hash'; - const combinedUrl = url + '#' + pathname + query + hash; - const $rootScope = jasmine.createSpyObj('$rootScope', ['$on']); - - upgradeModule.$injector.get.and.returnValue($rootScope); - LocationMock.normalize.and.returnValue(normalizedPathname); - - setUpLocationSync(upgradeModule, 'hash'); - - const callback = $rootScope.$on.calls.argsFor(0)[1]; - callback({}, combinedUrl, ''); - - expect(LocationMock.normalize).toHaveBeenCalledTimes(1); - expect(LocationMock.normalize).toHaveBeenCalledWith(pathname); - - expect(RouterMock.navigateByUrl).toHaveBeenCalledTimes(1); - expect(RouterMock.navigateByUrl).toHaveBeenCalledWith(normalizedPathname + query + hash); - }); - it('should work correctly on browsers that do not start pathname with `/`', () => { const anchorProto = HTMLAnchorElement.prototype; const originalDescriptor = Object.getOwnPropertyDescriptor(anchorProto, 'pathname'); @@ -122,5 +98,4 @@ describe('setUpLocationSync', () => { Object.defineProperty(anchorProto, 'pathname', originalDescriptor !); } }); - }); diff --git a/tools/public_api_guard/router/upgrade.d.ts b/tools/public_api_guard/router/upgrade.d.ts index 3245f77cef..0ea2ceed35 100644 --- a/tools/public_api_guard/router/upgrade.d.ts +++ b/tools/public_api_guard/router/upgrade.d.ts @@ -5,4 +5,4 @@ export declare const RouterUpgradeInitializer: { deps: (typeof UpgradeModule)[]; }; -export declare function setUpLocationSync(ngUpgrade: UpgradeModule, urlType?: 'path' | 'hash'): void; +export declare function setUpLocationSync(ngUpgrade: UpgradeModule): void;