From 2659826ff40c798c660d36ce4dbd80002809f27a Mon Sep 17 00:00:00 2001 From: Vladyslav Prykhodko Date: Fri, 21 Aug 2020 20:17:05 +0300 Subject: [PATCH 1/2] Fixed decoder state params --- ui-ngx/src/app/core/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-ngx/src/app/core/utils.ts b/ui-ngx/src/app/core/utils.ts index 9834405eda..9bf64579ab 100644 --- a/ui-ngx/src/app/core/utils.ts +++ b/ui-ngx/src/app/core/utils.ts @@ -175,7 +175,7 @@ export function objToBase64URI(obj: any): string { } export function base64toObj(b64Encoded: string): any { - const json = decodeURIComponent(atob(b64Encoded).split('').map((c) => { + const json = decodeURIComponent(atob(decodeURIComponent(b64Encoded)).split('').map((c) => { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(json); From 5900479c40bfb6db3849a41fe0bd807e66858eee Mon Sep 17 00:00:00 2001 From: Vladyslav Prykhodko Date: Sat, 22 Aug 2020 20:05:43 +0300 Subject: [PATCH 2/2] Fixed decoder state params --- ui-ngx/src/app/core/utils.ts | 2 +- .../home/pages/dashboard/states/state-controller.component.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ui-ngx/src/app/core/utils.ts b/ui-ngx/src/app/core/utils.ts index 9bf64579ab..9834405eda 100644 --- a/ui-ngx/src/app/core/utils.ts +++ b/ui-ngx/src/app/core/utils.ts @@ -175,7 +175,7 @@ export function objToBase64URI(obj: any): string { } export function base64toObj(b64Encoded: string): any { - const json = decodeURIComponent(atob(decodeURIComponent(b64Encoded)).split('').map((c) => { + const json = decodeURIComponent(atob(b64Encoded).split('').map((c) => { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(json); diff --git a/ui-ngx/src/app/modules/home/pages/dashboard/states/state-controller.component.ts b/ui-ngx/src/app/modules/home/pages/dashboard/states/state-controller.component.ts index 1c4d4f2cb3..ae3600409d 100644 --- a/ui-ngx/src/app/modules/home/pages/dashboard/states/state-controller.component.ts +++ b/ui-ngx/src/app/modules/home/pages/dashboard/states/state-controller.component.ts @@ -100,7 +100,7 @@ export abstract class StateControllerComponent implements IStateControllerCompon this.rxSubscriptions.push(this.route.queryParamMap.subscribe((paramMap) => { const dashboardId = this.route.snapshot.params.dashboardId; if (this.dashboardId === dashboardId) { - const newState = paramMap.get('state'); + const newState = decodeURIComponent(paramMap.get('state')); if (this.currentState !== newState) { this.currentState = newState; if (this.inited) { @@ -147,7 +147,7 @@ export abstract class StateControllerComponent implements IStateControllerCompon } public reInit() { - this.currentState = this.route.snapshot.queryParamMap.get('state'); + this.currentState = decodeURIComponent(this.route.snapshot.queryParamMap.get('state')); this.init(); }