@xh/hoist 73.0.0-SNAPSHOT.1741966377363 → 73.0.0-SNAPSHOT.1742503059030

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.
@@ -149,7 +149,7 @@ export class InstancesTabModel extends HoistModel {
149
149
  },
150
150
  {
151
151
  ...usedHeapMb,
152
- headerName: 'Heap (MB)'
152
+ headerName: 'Heap (mb)'
153
153
  },
154
154
  {
155
155
  ...usedPctMax,
@@ -214,11 +214,12 @@ export class InstancesTabModel extends HoistModel {
214
214
  private async shutdownInstanceAsync(instance: PlainObject) {
215
215
  if (
216
216
  !(await XH.confirm({
217
- message: `Are you SURE you want to shutdown instance ${instance.name}?`,
217
+ message: `Are you sure you wish to immediately terminate instance ${instance.name}?`,
218
218
  confirmProps: {
219
219
  icon: Icon.skull(),
220
- text: 'Shutdown Now',
220
+ text: 'Yes, kill the instance',
221
221
  intent: 'danger',
222
+ outlined: true,
222
223
  autoFocus: false
223
224
  }
224
225
  }))
@@ -6,12 +6,12 @@
6
6
  */
7
7
  import {clock} from '@xh/hoist/cmp/clock';
8
8
  import {grid} from '@xh/hoist/cmp/grid';
9
- import {code, filler, fragment, hspacer, label, placeholder} from '@xh/hoist/cmp/layout';
9
+ import {filler, fragment, hspacer, label, placeholder} from '@xh/hoist/cmp/layout';
10
+ import {loadingIndicator} from '@xh/hoist/cmp/loadingindicator';
10
11
  import {hoistCmp, uses, XH} from '@xh/hoist/core';
11
12
  import {button, modalToggleButton} from '@xh/hoist/desktop/cmp/button';
12
13
  import {gridFindField} from '@xh/hoist/desktop/cmp/grid';
13
14
  import {numberInput, switchInput, textInput} from '@xh/hoist/desktop/cmp/input';
14
- import {loadingIndicator} from '@xh/hoist/cmp/loadingindicator';
15
15
  import {panel} from '@xh/hoist/desktop/cmp/panel';
16
16
  import {toolbar, toolbarSep} from '@xh/hoist/desktop/cmp/toolbar';
17
17
  import {Icon} from '@xh/hoist/icon';
@@ -48,7 +48,7 @@ const tbar = hoistCmp.factory<LogDisplayModel>(({model}) => {
48
48
  numberInput({
49
49
  bind: 'startLine',
50
50
  min: 1,
51
- width: 80,
51
+ width: 70,
52
52
  disabled: model.tail,
53
53
  displayWithCommas: true
54
54
  }),
@@ -57,13 +57,13 @@ const tbar = hoistCmp.factory<LogDisplayModel>(({model}) => {
57
57
  numberInput({
58
58
  bind: 'maxLines',
59
59
  min: 1,
60
- width: 80,
60
+ width: 70,
61
61
  displayWithCommas: true
62
62
  }),
63
63
  '-',
64
64
  textInput({
65
65
  bind: 'pattern',
66
- placeholder: 'Filter',
66
+ placeholder: 'Filter lines...',
67
67
  leftIcon: Icon.filter(),
68
68
  flex: 1,
69
69
  rightElement: fragment(
@@ -85,7 +85,7 @@ const tbar = hoistCmp.factory<LogDisplayModel>(({model}) => {
85
85
  })
86
86
  )
87
87
  }),
88
- gridFindField({flex: 1}),
88
+ gridFindField({flex: 1, placeholder: 'Find lines...'}),
89
89
  '-',
90
90
  switchInput({
91
91
  bind: 'tail',
@@ -123,16 +123,14 @@ const bbar = hoistCmp.factory<LogDisplayModel>({
123
123
  }),
124
124
  filler(),
125
125
  Icon.clock(),
126
- code(
127
- clock({
128
- timezone: zone,
129
- format: 'HH:mm',
130
- suffix: fmtTimeZone(zone, offset)
131
- })
132
- ),
126
+ clock({
127
+ timezone: zone,
128
+ format: 'HH:mm',
129
+ suffix: fmtTimeZone(zone, offset)
130
+ }),
133
131
  fragment({
134
132
  omit: !logRootPath,
135
- items: [toolbarSep(), Icon.folder(), code(logRootPath)]
133
+ items: [toolbarSep(), Icon.folder({className: 'xh-margin-right'}), logRootPath]
136
134
  })
137
135
  );
138
136
  }
@@ -117,8 +117,6 @@ export class LogDisplayModel extends HoistModel {
117
117
  },
118
118
  loadSpec
119
119
  });
120
- // Backward compatibility for Hoist Core < v22, which returned exception in-band
121
- if (!response.success) throw XH.exception(response.exception);
122
120
  this.updateGridData(response.content);
123
121
  }
124
122
 
@@ -5,8 +5,8 @@
5
5
  * Copyright © 2025 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {logLevelDialog} from '@xh/hoist/admin/tabs/cluster/instances/logs/levels/LogLevelDialog';
8
- import {grid} from '@xh/hoist/cmp/grid';
9
- import {hframe} from '@xh/hoist/cmp/layout';
8
+ import {grid, gridCountLabel} from '@xh/hoist/cmp/grid';
9
+ import {filler, hframe} from '@xh/hoist/cmp/layout';
10
10
  import {storeFilterField} from '@xh/hoist/cmp/store';
11
11
  import {creates, hoistCmp} from '@xh/hoist/core';
12
12
  import {errorMessage} from '@xh/hoist/cmp/error';
@@ -37,9 +37,8 @@ export const logViewer = hoistCmp.factory({
37
37
  side: 'left',
38
38
  defaultSize: 380
39
39
  },
40
- item: grid(),
41
- bbar: [
42
- storeFilterField({flex: 1}),
40
+ tbar: [
41
+ storeFilterField({flex: 1, placeholder: 'Filter files...'}),
43
42
  select({
44
43
  leftIcon: Icon.server(),
45
44
  bind: 'instanceOnly',
@@ -53,6 +52,8 @@ export const logViewer = hoistCmp.factory({
53
52
  ]
54
53
  })
55
54
  ],
55
+ item: grid(),
56
+ bbar: [filler(), gridCountLabel({unit: 'log file'})],
56
57
  mask: 'onLoad'
57
58
  }),
58
59
  logDisplay(),
@@ -13,6 +13,7 @@ import {RecordActionSpec} from '@xh/hoist/data';
13
13
  import {compactDateRenderer, fmtNumber} from '@xh/hoist/format';
14
14
  import {Icon} from '@xh/hoist/icon';
15
15
  import {bindable, makeObservable, observable} from '@xh/hoist/mobx';
16
+ import {pluralize} from '@xh/hoist/utils/js';
16
17
  import download from 'downloadjs';
17
18
  import {LogDisplayModel} from './LogDisplayModel';
18
19
 
@@ -119,7 +120,13 @@ export class LogViewerModel extends BaseInstanceModel {
119
120
  if (!count) return;
120
121
 
121
122
  const confirmed = await XH.confirm({
122
- message: `Delete ${count} log files on the server? This cannot be undone.`
123
+ message: `Are you sure you want to delete ${pluralize('log file', count, true)}? This cannot be undone.`,
124
+ confirmProps: {
125
+ text: `Yes, delete the ${pluralize('file', count)}`,
126
+ intent: 'danger',
127
+ outlined: true,
128
+ autoFocus: false
129
+ }
123
130
  });
124
131
  if (!confirmed) return;
125
132
 
@@ -131,6 +131,7 @@ export class MemoryMonitorModel extends BaseInstanceModel {
131
131
  },
132
132
  {
133
133
  groupId: 'GC',
134
+ headerName: 'Garbage Collection',
134
135
  headerAlign: 'center',
135
136
  children: [collectionCount, avgCollectionTime, pctCollectionTime]
136
137
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xh/hoist",
3
- "version": "73.0.0-SNAPSHOT.1741966377363",
3
+ "version": "73.0.0-SNAPSHOT.1742503059030",
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",