Browse Source

Add sorting object key

pull/3281/head
Vladyslav_Prykhodko 6 years ago
parent
commit
e3b8c28bc6
  1. 3
      ui-ngx/src/app/core/services/script/node-script-test.service.ts
  2. 7
      ui-ngx/src/app/core/utils.ts
  3. 9
      ui-ngx/src/app/modules/home/components/event/event-table-config.ts

3
ui-ngx/src/app/core/services/script/node-script-test.service.ts

@ -23,6 +23,7 @@ import {
NodeScriptTestDialogComponent, NodeScriptTestDialogComponent,
NodeScriptTestDialogData NodeScriptTestDialogData
} from '@shared/components/dialog/node-script-test-dialog.component'; } from '@shared/components/dialog/node-script-test-dialog.component';
import { sortObjectKeys } from '@core/utils';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -75,6 +76,8 @@ export class NodeScriptTestService {
deviceName: 'Test Device', deviceName: 'Test Device',
ts: new Date().getTime() + '' ts: new Date().getTime() + ''
}; };
} else {
metadata = sortObjectKeys(metadata) as {[key: string]: string};
} }
if (!msgType) { if (!msgType) {
msgType = 'POST_TELEMETRY_REQUEST'; msgType = 'POST_TELEMETRY_REQUEST';

7
ui-ngx/src/app/core/utils.ts

@ -510,3 +510,10 @@ export function padValue(val: any, dec: number): string {
strVal = (n ? '-' : '') + strVal; strVal = (n ? '-' : '') + strVal;
return strVal; return strVal;
} }
export function sortObjectKeys(obj: object): object{
return Object.keys(obj).sort().reduce((acc,key)=>{
acc[key]=obj[key];
return acc;
},{});
}

9
ui-ngx/src/app/modules/home/components/event/event-table-config.ts

@ -38,6 +38,7 @@ import {
EventContentDialogComponent, EventContentDialogComponent,
EventContentDialogData EventContentDialogData
} from '@home/components/event/event-content-dialog.component'; } from '@home/components/event/event-content-dialog.component';
import { sortObjectKeys } from '@core/utils';
export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> { export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
@ -233,11 +234,17 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
if ($event) { if ($event) {
$event.stopPropagation(); $event.stopPropagation();
} }
let sortedContent: string;
try {
sortedContent = JSON.stringify(sortObjectKeys(JSON.parse(content)));
} catch() {
sortedContent = content;
}
this.dialog.open<EventContentDialogComponent, EventContentDialogData>(EventContentDialogComponent, { this.dialog.open<EventContentDialogComponent, EventContentDialogData>(EventContentDialogComponent, {
disableClose: true, disableClose: true,
panelClass: ['tb-dialog', 'tb-fullscreen-dialog'], panelClass: ['tb-dialog', 'tb-fullscreen-dialog'],
data: { data: {
content, constent: sortedContent,
title, title,
contentType contentType
} }

Loading…
Cancel
Save