@xh/hoist 73.0.0-SNAPSHOT.1746559391577 → 73.0.0-SNAPSHOT.1746560992436
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/columns/Clients.ts +7 -0
- package/admin/columns/Tracking.ts +56 -2
- package/admin/columns/User.ts +6 -0
- package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +3 -2
- package/admin/tabs/activity/tracking/detail/ActivityDetailModel.ts +2 -2
- package/admin/tabs/client/errors/ClientErrorsModel.ts +9 -13
- package/build/types/admin/columns/Tracking.d.ts +2 -0
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/admin/columns/Clients.ts
CHANGED
|
@@ -14,11 +14,13 @@ export const createdTime: ColumnSpec = {
|
|
|
14
14
|
type: 'date',
|
|
15
15
|
displayName: 'Created'
|
|
16
16
|
},
|
|
17
|
+
chooserGroup: 'Connection',
|
|
17
18
|
...Col.compactDate
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
export const isOpen: ColumnSpec = {
|
|
21
22
|
field: {name: 'isOpen', type: 'bool'},
|
|
23
|
+
chooserGroup: 'Connection',
|
|
22
24
|
headerName: '',
|
|
23
25
|
align: 'center',
|
|
24
26
|
width: 40,
|
|
@@ -34,6 +36,7 @@ export const key: ColumnSpec = {
|
|
|
34
36
|
type: 'string',
|
|
35
37
|
displayName: 'Channel Key'
|
|
36
38
|
},
|
|
39
|
+
chooserGroup: 'Connection',
|
|
37
40
|
width: 160
|
|
38
41
|
};
|
|
39
42
|
|
|
@@ -43,6 +46,7 @@ export const lastReceivedTime: ColumnSpec = {
|
|
|
43
46
|
type: 'date',
|
|
44
47
|
displayName: 'Last Received'
|
|
45
48
|
},
|
|
49
|
+
chooserGroup: 'Send/Receive',
|
|
46
50
|
...Col.compactDate,
|
|
47
51
|
width: 140
|
|
48
52
|
};
|
|
@@ -53,6 +57,7 @@ export const lastSentTime: ColumnSpec = {
|
|
|
53
57
|
type: 'date',
|
|
54
58
|
displayName: 'Last Sent'
|
|
55
59
|
},
|
|
60
|
+
chooserGroup: 'Send/Receive',
|
|
56
61
|
...Col.compactDate,
|
|
57
62
|
width: 140
|
|
58
63
|
};
|
|
@@ -63,6 +68,7 @@ export const receivedMessageCount: ColumnSpec = {
|
|
|
63
68
|
type: 'int',
|
|
64
69
|
displayName: 'Received'
|
|
65
70
|
},
|
|
71
|
+
chooserGroup: 'Send/Receive',
|
|
66
72
|
...Col.number,
|
|
67
73
|
width: 90
|
|
68
74
|
};
|
|
@@ -73,6 +79,7 @@ export const sentMessageCount: ColumnSpec = {
|
|
|
73
79
|
type: 'int',
|
|
74
80
|
displayName: 'Sent'
|
|
75
81
|
},
|
|
82
|
+
chooserGroup: 'Send/Receive',
|
|
76
83
|
...Col.number,
|
|
77
84
|
width: 90
|
|
78
85
|
};
|
|
@@ -18,9 +18,11 @@ const autosizeMaxWidth = 400;
|
|
|
18
18
|
export const appBuild: ColumnSpec = {
|
|
19
19
|
field: {
|
|
20
20
|
name: 'appBuild',
|
|
21
|
-
displayName: 'Build',
|
|
21
|
+
displayName: 'App Build',
|
|
22
22
|
type: 'string'
|
|
23
23
|
},
|
|
24
|
+
headerName: 'Build',
|
|
25
|
+
chooserGroup: 'Client App / Browser',
|
|
24
26
|
width: 120
|
|
25
27
|
};
|
|
26
28
|
|
|
@@ -30,15 +32,18 @@ export const appEnvironment: ColumnSpec = {
|
|
|
30
32
|
type: 'string',
|
|
31
33
|
displayName: 'Environment'
|
|
32
34
|
},
|
|
35
|
+
chooserGroup: 'Core Data',
|
|
33
36
|
width: 130
|
|
34
37
|
};
|
|
35
38
|
|
|
36
39
|
export const appVersion: ColumnSpec = {
|
|
37
40
|
field: {
|
|
38
41
|
name: 'appVersion',
|
|
39
|
-
displayName: 'Version',
|
|
42
|
+
displayName: 'App Version',
|
|
40
43
|
type: 'string'
|
|
41
44
|
},
|
|
45
|
+
headerName: 'Version',
|
|
46
|
+
chooserGroup: 'Client App / Browser',
|
|
42
47
|
width: 120
|
|
43
48
|
};
|
|
44
49
|
|
|
@@ -49,6 +54,7 @@ export const browser: ColumnSpec = {
|
|
|
49
54
|
isDimension: true,
|
|
50
55
|
aggregator: 'UNIQUE'
|
|
51
56
|
},
|
|
57
|
+
chooserGroup: 'Client App / Browser',
|
|
52
58
|
width: 100
|
|
53
59
|
};
|
|
54
60
|
|
|
@@ -59,6 +65,7 @@ export const category: ColumnSpec = {
|
|
|
59
65
|
isDimension: true,
|
|
60
66
|
aggregator: 'UNIQUE'
|
|
61
67
|
},
|
|
68
|
+
chooserGroup: 'Core Data',
|
|
62
69
|
width: 100
|
|
63
70
|
};
|
|
64
71
|
|
|
@@ -68,6 +75,7 @@ export const correlationId: ColumnSpec = {
|
|
|
68
75
|
type: 'string',
|
|
69
76
|
displayName: 'Correlation ID'
|
|
70
77
|
},
|
|
78
|
+
chooserGroup: 'Core Data',
|
|
71
79
|
renderer: badgeRenderer,
|
|
72
80
|
width: 180,
|
|
73
81
|
autosizeBufferPx: 20
|
|
@@ -75,6 +83,7 @@ export const correlationId: ColumnSpec = {
|
|
|
75
83
|
|
|
76
84
|
export const data: ColumnSpec = {
|
|
77
85
|
field: {name: 'data', type: 'json'},
|
|
86
|
+
chooserGroup: 'Core Data',
|
|
78
87
|
width: 250,
|
|
79
88
|
autosizeMaxWidth
|
|
80
89
|
};
|
|
@@ -86,6 +95,7 @@ export const day: ColumnSpec = {
|
|
|
86
95
|
isDimension: true
|
|
87
96
|
},
|
|
88
97
|
...Col.localDate,
|
|
98
|
+
chooserGroup: 'Core Data',
|
|
89
99
|
displayName: 'App Day'
|
|
90
100
|
};
|
|
91
101
|
|
|
@@ -96,6 +106,7 @@ export const dayRange: ColumnSpec = {
|
|
|
96
106
|
aggregator: new RangeAggregator(),
|
|
97
107
|
displayName: 'App Day Range'
|
|
98
108
|
},
|
|
109
|
+
chooserGroup: 'Core Data',
|
|
99
110
|
align: 'right',
|
|
100
111
|
width: 200,
|
|
101
112
|
renderer: dayRangeRenderer,
|
|
@@ -110,11 +121,13 @@ export const device: ColumnSpec = {
|
|
|
110
121
|
isDimension: true,
|
|
111
122
|
aggregator: 'UNIQUE'
|
|
112
123
|
},
|
|
124
|
+
chooserGroup: 'Client App / Browser',
|
|
113
125
|
width: 100
|
|
114
126
|
};
|
|
115
127
|
|
|
116
128
|
export const deviceIcon: ColumnSpec = {
|
|
117
129
|
field: device.field,
|
|
130
|
+
chooserGroup: 'Client App / Browser',
|
|
118
131
|
headerName: Icon.desktop(),
|
|
119
132
|
headerTooltip: 'Device',
|
|
120
133
|
tooltip: true,
|
|
@@ -151,6 +164,7 @@ export const elapsed: ColumnSpec = {
|
|
|
151
164
|
type: 'int',
|
|
152
165
|
aggregator: 'AVG'
|
|
153
166
|
},
|
|
167
|
+
chooserGroup: 'Core Data',
|
|
154
168
|
width: 130,
|
|
155
169
|
renderer: elapsedRenderer
|
|
156
170
|
};
|
|
@@ -161,6 +175,7 @@ export const elapsedMax: ColumnSpec = {
|
|
|
161
175
|
type: 'int',
|
|
162
176
|
aggregator: 'MAX'
|
|
163
177
|
},
|
|
178
|
+
chooserGroup: 'Core Data',
|
|
164
179
|
width: 130,
|
|
165
180
|
renderer: elapsedRenderer
|
|
166
181
|
};
|
|
@@ -172,6 +187,7 @@ export const entryCount: ColumnSpec = {
|
|
|
172
187
|
displayName: 'Entries',
|
|
173
188
|
aggregator: 'LEAF_COUNT'
|
|
174
189
|
},
|
|
190
|
+
chooserGroup: 'Core Data',
|
|
175
191
|
width: 80,
|
|
176
192
|
align: 'right'
|
|
177
193
|
};
|
|
@@ -182,6 +198,7 @@ export const entryId: ColumnSpec = {
|
|
|
182
198
|
type: 'int',
|
|
183
199
|
displayName: 'Entry ID'
|
|
184
200
|
},
|
|
201
|
+
chooserGroup: 'Core Data',
|
|
185
202
|
width: 100,
|
|
186
203
|
align: 'right'
|
|
187
204
|
};
|
|
@@ -191,11 +208,32 @@ export const error: ColumnSpec = {
|
|
|
191
208
|
name: 'error',
|
|
192
209
|
type: 'string'
|
|
193
210
|
},
|
|
211
|
+
chooserGroup: 'Errors',
|
|
194
212
|
width: 250,
|
|
195
213
|
autosizeMaxWidth,
|
|
196
214
|
renderer: e => fmtSpan(e, {className: 'xh-font-family-mono xh-font-size-small'})
|
|
197
215
|
};
|
|
198
216
|
|
|
217
|
+
export const errorMessage: ColumnSpec = {
|
|
218
|
+
field: {
|
|
219
|
+
name: 'errorMessage',
|
|
220
|
+
type: 'string'
|
|
221
|
+
},
|
|
222
|
+
chooserGroup: 'Errors',
|
|
223
|
+
width: 250,
|
|
224
|
+
autosizeMaxWidth
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export const errorName: ColumnSpec = {
|
|
228
|
+
field: {
|
|
229
|
+
name: 'errorName',
|
|
230
|
+
type: 'string'
|
|
231
|
+
},
|
|
232
|
+
chooserGroup: 'Errors',
|
|
233
|
+
width: 150,
|
|
234
|
+
autosizeMaxWidth
|
|
235
|
+
};
|
|
236
|
+
|
|
199
237
|
export const instance: ColumnSpec = {
|
|
200
238
|
field: {
|
|
201
239
|
name: 'instance',
|
|
@@ -203,6 +241,9 @@ export const instance: ColumnSpec = {
|
|
|
203
241
|
isDimension: true,
|
|
204
242
|
aggregator: 'UNIQUE'
|
|
205
243
|
},
|
|
244
|
+
chooserDescription:
|
|
245
|
+
'The unique ID of the back-end Hoist cluster member instance to which the client app is connected.',
|
|
246
|
+
chooserGroup: 'Session IDs',
|
|
206
247
|
renderer: badgeRenderer,
|
|
207
248
|
width: 100
|
|
208
249
|
};
|
|
@@ -212,6 +253,9 @@ export const loadId: ColumnSpec = {
|
|
|
212
253
|
name: 'loadId',
|
|
213
254
|
type: 'string'
|
|
214
255
|
},
|
|
256
|
+
chooserDescription:
|
|
257
|
+
'A unique ID assigned to each load/init of the application. Refreshing the tab within your browser will result in a new Load ID.',
|
|
258
|
+
chooserGroup: 'Session IDs',
|
|
215
259
|
...badgeCol
|
|
216
260
|
};
|
|
217
261
|
|
|
@@ -223,6 +267,7 @@ export const msg: ColumnSpec = {
|
|
|
223
267
|
isDimension: true,
|
|
224
268
|
aggregator: 'UNIQUE'
|
|
225
269
|
},
|
|
270
|
+
chooserGroup: 'Core Data',
|
|
226
271
|
width: 250,
|
|
227
272
|
autosizeMaxWidth
|
|
228
273
|
};
|
|
@@ -234,6 +279,7 @@ export const severity: ColumnSpec = {
|
|
|
234
279
|
isDimension: true,
|
|
235
280
|
aggregator: 'UNIQUE'
|
|
236
281
|
},
|
|
282
|
+
chooserGroup: 'Core Data',
|
|
237
283
|
width: 80
|
|
238
284
|
};
|
|
239
285
|
|
|
@@ -270,6 +316,9 @@ export const tabId: ColumnSpec = {
|
|
|
270
316
|
name: 'tabId',
|
|
271
317
|
type: 'string'
|
|
272
318
|
},
|
|
319
|
+
chooserDescription:
|
|
320
|
+
'A new Tab ID is established within browser session storage and maintained for the lifetime of the tab. Refreshing the app within your browser will maintain the existing Tab ID',
|
|
321
|
+
chooserGroup: 'Session IDs',
|
|
273
322
|
...badgeCol
|
|
274
323
|
};
|
|
275
324
|
|
|
@@ -279,12 +328,14 @@ export const url: ColumnSpec = {
|
|
|
279
328
|
type: 'string',
|
|
280
329
|
displayName: 'URL'
|
|
281
330
|
},
|
|
331
|
+
chooserGroup: 'Client App / Browser',
|
|
282
332
|
width: 250,
|
|
283
333
|
autosizeMaxWidth
|
|
284
334
|
};
|
|
285
335
|
|
|
286
336
|
export const urlPathOnly: ColumnSpec = {
|
|
287
337
|
field: url.field,
|
|
338
|
+
chooserGroup: 'Client App / Browser',
|
|
288
339
|
width: 250,
|
|
289
340
|
autosizeMaxWidth,
|
|
290
341
|
tooltip: true,
|
|
@@ -306,6 +357,7 @@ export const userAgent: ColumnSpec = {
|
|
|
306
357
|
isDimension: true,
|
|
307
358
|
aggregator: 'UNIQUE'
|
|
308
359
|
},
|
|
360
|
+
chooserGroup: 'Client App / Browser',
|
|
309
361
|
width: 130,
|
|
310
362
|
autosizeMaxWidth
|
|
311
363
|
};
|
|
@@ -315,6 +367,7 @@ export const userAlertedFlag: ColumnSpec = {
|
|
|
315
367
|
headerName: Icon.window(),
|
|
316
368
|
headerTooltip:
|
|
317
369
|
'Indicates if the user was shown an interactive alert when this error was triggered.',
|
|
370
|
+
chooserGroup: 'Errors',
|
|
318
371
|
resizable: false,
|
|
319
372
|
align: 'center',
|
|
320
373
|
width: 50,
|
|
@@ -327,6 +380,7 @@ export const userMessageFlag: ColumnSpec = {
|
|
|
327
380
|
headerName: Icon.comment(),
|
|
328
381
|
headerTooltip:
|
|
329
382
|
'Indicates if the user provided a message along with the automated error report.',
|
|
383
|
+
chooserGroup: 'Errors',
|
|
330
384
|
excludeFromExport: true,
|
|
331
385
|
resizable: false,
|
|
332
386
|
align: 'center',
|
package/admin/columns/User.ts
CHANGED
|
@@ -11,6 +11,7 @@ import * as Col from '@xh/hoist/cmp/grid/columns';
|
|
|
11
11
|
|
|
12
12
|
export const user: ColumnSpec = {
|
|
13
13
|
field: {name: 'user', type: 'string'},
|
|
14
|
+
chooserGroup: 'User',
|
|
14
15
|
width: 250
|
|
15
16
|
};
|
|
16
17
|
|
|
@@ -22,16 +23,19 @@ export const username: ColumnSpec = {
|
|
|
22
23
|
isDimension: true,
|
|
23
24
|
aggregator: 'UNIQUE'
|
|
24
25
|
},
|
|
26
|
+
chooserGroup: 'User',
|
|
25
27
|
width: 160
|
|
26
28
|
};
|
|
27
29
|
|
|
28
30
|
export const email: ColumnSpec = {
|
|
29
31
|
field: {name: 'email', type: 'string'},
|
|
32
|
+
chooserGroup: 'User',
|
|
30
33
|
width: 200
|
|
31
34
|
};
|
|
32
35
|
|
|
33
36
|
export const displayName: ColumnSpec = {
|
|
34
37
|
field: {name: 'displayName', type: 'string'},
|
|
38
|
+
chooserGroup: 'User',
|
|
35
39
|
width: 200
|
|
36
40
|
};
|
|
37
41
|
|
|
@@ -45,11 +49,13 @@ export const roles: ColumnSpec = {
|
|
|
45
49
|
|
|
46
50
|
export const impersonating: ColumnSpec = {
|
|
47
51
|
field: {name: 'impersonating', type: 'string'},
|
|
52
|
+
chooserGroup: 'User',
|
|
48
53
|
width: 140
|
|
49
54
|
};
|
|
50
55
|
|
|
51
56
|
export const impersonatingFlag: ColumnSpec = {
|
|
52
57
|
field: {name: 'impersonatingFlag', type: 'bool'},
|
|
58
|
+
chooserGroup: 'User',
|
|
53
59
|
headerName: Icon.impersonate(),
|
|
54
60
|
headerTooltip: 'Indicates if the user was impersonating another user during tracked activity.',
|
|
55
61
|
excludeFromExport: true,
|
|
@@ -47,6 +47,7 @@ export class ActivityTrackingModel extends HoistModel implements ActivityDetailP
|
|
|
47
47
|
get dataFieldCols(): ColumnSpec[] {
|
|
48
48
|
return this.dataFields.map(df => ({
|
|
49
49
|
field: df,
|
|
50
|
+
chooserGroup: 'Data Fields',
|
|
50
51
|
renderer: this.getDfRenderer(df),
|
|
51
52
|
appData: {showInAggGrid: !!df.aggregator}
|
|
52
53
|
}));
|
|
@@ -416,8 +417,8 @@ export class ActivityTrackingModel extends HoistModel implements ActivityDetailP
|
|
|
416
417
|
persistWith: {...this.persistWith, path: 'aggGrid'},
|
|
417
418
|
selModel: 'multiple',
|
|
418
419
|
enableExport: true,
|
|
419
|
-
colChooserModel: true,
|
|
420
420
|
treeMode: true,
|
|
421
|
+
colChooserModel: {height: 450},
|
|
421
422
|
treeStyle: TreeStyle.HIGHLIGHTS_AND_BORDERS,
|
|
422
423
|
autosizeOptions: {mode: 'managed', includeCollapsedChildren: true},
|
|
423
424
|
exportOptions: {filename: exportFilename('activity-summary')},
|
|
@@ -445,7 +446,7 @@ export class ActivityTrackingModel extends HoistModel implements ActivityDetailP
|
|
|
445
446
|
{...Col.elapsedMax, displayName: 'Elapsed (max)', hidden},
|
|
446
447
|
{...Col.dayRange, hidden},
|
|
447
448
|
{...Col.entryCount},
|
|
448
|
-
{field: 'count', hidden},
|
|
449
|
+
{field: 'count', chooserGroup: 'Core Data', hidden},
|
|
449
450
|
{...Col.appEnvironment, hidden},
|
|
450
451
|
{...Col.appVersion, hidden},
|
|
451
452
|
{...Col.loadId, hidden},
|
|
@@ -158,7 +158,7 @@ export class ActivityDetailModel extends HoistModel {
|
|
|
158
158
|
return new GridModel({
|
|
159
159
|
persistWith: persistWith ? {...persistWith, path: `${persistWith.path}.grid`} : null,
|
|
160
160
|
sortBy: 'dateCreated|desc',
|
|
161
|
-
colChooserModel:
|
|
161
|
+
colChooserModel: {height: 450},
|
|
162
162
|
enableExport: true,
|
|
163
163
|
filterModel: false,
|
|
164
164
|
exportOptions: {
|
|
@@ -186,7 +186,7 @@ export class ActivityDetailModel extends HoistModel {
|
|
|
186
186
|
{...Col.instance, hidden},
|
|
187
187
|
{...Col.urlPathOnly},
|
|
188
188
|
{...Col.data, hidden},
|
|
189
|
-
{...Col.dateCreatedNoYear, displayName: 'Timestamp'},
|
|
189
|
+
{...Col.dateCreatedNoYear, displayName: 'Timestamp', chooserGroup: 'Core Data'},
|
|
190
190
|
...dataFieldCols
|
|
191
191
|
].map(it => {
|
|
192
192
|
const fieldName = isString(it.field) ? it.field : it.field.name;
|
|
@@ -38,7 +38,9 @@ export class ClientErrorsModel extends HoistModel {
|
|
|
38
38
|
this.startDay = this.defaultStartDay;
|
|
39
39
|
this.endDay = this.defaultEndDay;
|
|
40
40
|
|
|
41
|
-
const hidden = true
|
|
41
|
+
const hidden = true,
|
|
42
|
+
pinned = true;
|
|
43
|
+
|
|
42
44
|
this.gridModel = new GridModel({
|
|
43
45
|
persistWith: this.persistWith,
|
|
44
46
|
colChooserModel: true,
|
|
@@ -50,11 +52,11 @@ export class ClientErrorsModel extends HoistModel {
|
|
|
50
52
|
emptyText: 'No errors reported...',
|
|
51
53
|
sortBy: 'dateCreated|desc',
|
|
52
54
|
columns: [
|
|
53
|
-
{...Col.userMessageFlag},
|
|
54
|
-
{...Col.userAlertedFlag},
|
|
55
|
-
{...Col.impersonatingFlag},
|
|
56
55
|
{...Col.entryId, hidden},
|
|
57
|
-
{...Col.
|
|
56
|
+
{...Col.userMessageFlag, pinned},
|
|
57
|
+
{...Col.userAlertedFlag, pinned},
|
|
58
|
+
{...Col.impersonatingFlag, pinned},
|
|
59
|
+
{...Col.username, pinned},
|
|
58
60
|
{...Col.impersonating, hidden},
|
|
59
61
|
{...Col.browser},
|
|
60
62
|
{...Col.device},
|
|
@@ -62,14 +64,8 @@ export class ClientErrorsModel extends HoistModel {
|
|
|
62
64
|
{...Col.appVersion},
|
|
63
65
|
{...Col.appEnvironment},
|
|
64
66
|
{...Col.msg, displayName: 'User Message', hidden},
|
|
65
|
-
{
|
|
66
|
-
|
|
67
|
-
autosizeMaxWidth: 400
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
field: {name: 'errorMessage', type: 'string'},
|
|
71
|
-
autosizeMaxWidth: 400
|
|
72
|
-
},
|
|
67
|
+
{...Col.errorName},
|
|
68
|
+
{...Col.errorMessage},
|
|
73
69
|
{...Col.error, hidden},
|
|
74
70
|
{...Col.url},
|
|
75
71
|
{...Col.correlationId},
|
|
@@ -18,6 +18,8 @@ export declare const elapsedMax: ColumnSpec;
|
|
|
18
18
|
export declare const entryCount: ColumnSpec;
|
|
19
19
|
export declare const entryId: ColumnSpec;
|
|
20
20
|
export declare const error: ColumnSpec;
|
|
21
|
+
export declare const errorMessage: ColumnSpec;
|
|
22
|
+
export declare const errorName: ColumnSpec;
|
|
21
23
|
export declare const instance: ColumnSpec;
|
|
22
24
|
export declare const loadId: ColumnSpec;
|
|
23
25
|
export declare const msg: ColumnSpec;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xh/hoist",
|
|
3
|
-
"version": "73.0.0-SNAPSHOT.
|
|
3
|
+
"version": "73.0.0-SNAPSHOT.1746560992436",
|
|
4
4
|
"description": "Hoist add-on for building and deploying React Applications.",
|
|
5
5
|
"repository": "github:xh/hoist-react",
|
|
6
6
|
"homepage": "https://xh.io",
|