@xh/hoist 79.0.0-SNAPSHOT.1765206353828 → 79.0.0-SNAPSHOT.1765206592110
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/CHANGELOG.md +7 -0
- package/build/types/cmp/relativetimestamp/RelativeTimestamp.d.ts +0 -6
- package/build/types/core/AppSpec.d.ts +1 -4
- package/build/types/desktop/cmp/grouping/GroupingChooser.d.ts +0 -2
- package/cmp/relativetimestamp/RelativeTimestamp.ts +5 -21
- package/core/AppSpec.ts +3 -19
- package/desktop/cmp/grouping/GroupingChooser.ts +2 -15
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
* Defaulted Highcharts font to Hoist default (--xh-font-family)
|
|
14
14
|
|
|
15
|
+
### ⚙️ Technical
|
|
16
|
+
|
|
17
|
+
* Removed the following previously deprecated configs as planned:
|
|
18
|
+
* `AppSpec.websocketsEnabled` - enabled by default, disable via `disableWebSockets`
|
|
19
|
+
* `GroupingChooserProps.popoverTitle` - use `editorTitle`
|
|
20
|
+
* `RelativeTimestampProps.options` - provide directly as top-level props
|
|
21
|
+
|
|
15
22
|
## 78.1.4 - 2025-12-05
|
|
16
23
|
|
|
17
24
|
### 🐞 Bug Fixes
|
|
@@ -7,12 +7,6 @@ interface RelativeTimestampProps extends HoistProps, BoxProps, RelativeTimestamp
|
|
|
7
7
|
bind?: string;
|
|
8
8
|
/** Date or milliseconds representing the starting time / time to compare. See also `bind`. */
|
|
9
9
|
timestamp?: Date | number;
|
|
10
|
-
/**
|
|
11
|
-
* Formatting options.
|
|
12
|
-
*
|
|
13
|
-
* @deprecated - these options should be spread into this object directly.
|
|
14
|
-
*/
|
|
15
|
-
options?: RelativeTimestampOptions;
|
|
16
10
|
}
|
|
17
11
|
export interface RelativeTimestampOptions {
|
|
18
12
|
/** Allow dates greater than Date.now().*/
|
|
@@ -116,9 +116,7 @@ export declare class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
116
116
|
* initialized, including a breakdown of elapsed time throughout the init process.
|
|
117
117
|
*/
|
|
118
118
|
trackAppLoad?: boolean;
|
|
119
|
-
|
|
120
|
-
webSocketsEnabled?: boolean;
|
|
121
|
-
constructor({ authModelClass, checkAccess, clientAppCode, clientAppName, componentClass, containerClass, disableWebSockets, enableXssProtection, enableLoginForm, enableLogout, idlePanel, isMobileApp, lockoutMessage, lockoutPanel, loginMessage, modelClass, showBrowserContextMenu, trackAppLoad, webSocketsEnabled }: {
|
|
119
|
+
constructor({ authModelClass, checkAccess, clientAppCode, clientAppName, componentClass, containerClass, disableWebSockets, enableXssProtection, enableLoginForm, enableLogout, idlePanel, isMobileApp, lockoutMessage, lockoutPanel, loginMessage, modelClass, showBrowserContextMenu, trackAppLoad }: {
|
|
122
120
|
authModelClass?: typeof HoistAuthModel;
|
|
123
121
|
checkAccess: any;
|
|
124
122
|
clientAppCode?: string;
|
|
@@ -137,6 +135,5 @@ export declare class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
137
135
|
modelClass: any;
|
|
138
136
|
showBrowserContextMenu?: boolean;
|
|
139
137
|
trackAppLoad?: boolean;
|
|
140
|
-
webSocketsEnabled: any;
|
|
141
138
|
});
|
|
142
139
|
}
|
|
@@ -20,8 +20,6 @@ export interface GroupingChooserProps extends ButtonProps<GroupingChooserModel>
|
|
|
20
20
|
popoverMinHeight?: number;
|
|
21
21
|
/** Position of popover relative to target button. */
|
|
22
22
|
popoverPosition?: 'bottom' | 'top';
|
|
23
|
-
/** @deprecated - use `editorTitle` instead */
|
|
24
|
-
popoverTitle?: ReactNode;
|
|
25
23
|
/**
|
|
26
24
|
* Width in pixels of the popover menu itself.
|
|
27
25
|
* If unspecified, will default based on favorites enabled status + side.
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Copyright © 2025 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
|
-
import {getLayoutProps} from '@xh/hoist/utils/react';
|
|
8
|
-
import {inRange, isNil} from 'lodash';
|
|
9
|
-
import moment from 'moment';
|
|
10
7
|
import {box, span} from '@xh/hoist/cmp/layout';
|
|
11
8
|
import {
|
|
12
9
|
BoxProps,
|
|
@@ -21,7 +18,10 @@ import {fmtCompactDate, fmtDateTime} from '@xh/hoist/format';
|
|
|
21
18
|
import {action, computed, makeObservable, observable} from '@xh/hoist/mobx';
|
|
22
19
|
import {Timer} from '@xh/hoist/utils/async';
|
|
23
20
|
import {DAYS, HOURS, LocalDate, SECONDS} from '@xh/hoist/utils/datetime';
|
|
24
|
-
import {
|
|
21
|
+
import {logWarn, withDefault} from '@xh/hoist/utils/js';
|
|
22
|
+
import {getLayoutProps} from '@xh/hoist/utils/react';
|
|
23
|
+
import {inRange, isNil} from 'lodash';
|
|
24
|
+
import moment from 'moment';
|
|
25
25
|
|
|
26
26
|
interface RelativeTimestampProps extends HoistProps, BoxProps, RelativeTimestampOptions {
|
|
27
27
|
/**
|
|
@@ -32,13 +32,6 @@ interface RelativeTimestampProps extends HoistProps, BoxProps, RelativeTimestamp
|
|
|
32
32
|
|
|
33
33
|
/** Date or milliseconds representing the starting time / time to compare. See also `bind`. */
|
|
34
34
|
timestamp?: Date | number;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Formatting options.
|
|
38
|
-
*
|
|
39
|
-
* @deprecated - these options should be spread into this object directly.
|
|
40
|
-
*/
|
|
41
|
-
options?: RelativeTimestampOptions;
|
|
42
35
|
}
|
|
43
36
|
|
|
44
37
|
export interface RelativeTimestampOptions {
|
|
@@ -133,16 +126,7 @@ class RelativeTimestampLocalModel extends HoistModel {
|
|
|
133
126
|
|
|
134
127
|
@computed.struct
|
|
135
128
|
get options(): RelativeTimestampOptions {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
apiDeprecated('options', {
|
|
139
|
-
test: componentProps.options,
|
|
140
|
-
msg: 'Spread options directly in this object instead',
|
|
141
|
-
v: `v78`,
|
|
142
|
-
source: RelativeTimestamp
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
return componentProps.options ?? componentProps;
|
|
129
|
+
return this.componentProps as RelativeTimestampProps;
|
|
146
130
|
}
|
|
147
131
|
|
|
148
132
|
constructor() {
|
package/core/AppSpec.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Copyright © 2025 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {ElementFactory, HoistAppModel, HoistAuthModel, HoistProps, XH} from '@xh/hoist/core';
|
|
8
|
-
import {
|
|
9
|
-
import {isFunction, isNil, isString
|
|
8
|
+
import {throwIf} from '@xh/hoist/utils/js';
|
|
9
|
+
import {isFunction, isNil, isString} from 'lodash';
|
|
10
10
|
import {Component, ComponentClass, FunctionComponent} from 'react';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -140,9 +140,6 @@ export class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
140
140
|
*/
|
|
141
141
|
trackAppLoad?: boolean;
|
|
142
142
|
|
|
143
|
-
/** @deprecated - use {@link AppSpec.disableWebSockets} instead. */
|
|
144
|
-
webSocketsEnabled?: boolean;
|
|
145
|
-
|
|
146
143
|
constructor({
|
|
147
144
|
authModelClass = HoistAuthModel,
|
|
148
145
|
checkAccess,
|
|
@@ -161,8 +158,7 @@ export class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
161
158
|
loginMessage = null,
|
|
162
159
|
modelClass,
|
|
163
160
|
showBrowserContextMenu = false,
|
|
164
|
-
trackAppLoad = true
|
|
165
|
-
webSocketsEnabled
|
|
161
|
+
trackAppLoad = true
|
|
166
162
|
}) {
|
|
167
163
|
throwIf(!componentClass, 'A Hoist App must define a componentClass');
|
|
168
164
|
|
|
@@ -180,17 +176,6 @@ export class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
180
176
|
'A Hoist App must specify a required role string or a function for checkAccess.'
|
|
181
177
|
);
|
|
182
178
|
|
|
183
|
-
if (!isUndefined(webSocketsEnabled)) {
|
|
184
|
-
let msg: string;
|
|
185
|
-
if (webSocketsEnabled === false) {
|
|
186
|
-
disableWebSockets = true;
|
|
187
|
-
msg = `Specify disableWebSockets: true to continue actively disabling WebSockets if required.`;
|
|
188
|
-
} else {
|
|
189
|
-
msg = `WebSockets are now enabled by default - this property can be safely removed from your appSpec.`;
|
|
190
|
-
}
|
|
191
|
-
apiDeprecated('webSocketsEnabled', {msg, v: 'v78'});
|
|
192
|
-
}
|
|
193
|
-
|
|
194
179
|
this.authModelClass = authModelClass;
|
|
195
180
|
this.checkAccess = checkAccess;
|
|
196
181
|
this.clientAppCode = clientAppCode;
|
|
@@ -209,6 +194,5 @@ export class AppSpec<T extends HoistAppModel = HoistAppModel> {
|
|
|
209
194
|
this.modelClass = modelClass;
|
|
210
195
|
this.showBrowserContextMenu = showBrowserContextMenu;
|
|
211
196
|
this.trackAppLoad = trackAppLoad;
|
|
212
|
-
this.webSocketsEnabled = !disableWebSockets;
|
|
213
197
|
}
|
|
214
198
|
}
|
|
@@ -26,10 +26,10 @@ import {toolbar} from '@xh/hoist/desktop/cmp/toolbar';
|
|
|
26
26
|
import {Icon} from '@xh/hoist/icon';
|
|
27
27
|
import {menu, menuItem, popover} from '@xh/hoist/kit/blueprint';
|
|
28
28
|
import {dragDropContext, draggable, droppable} from '@xh/hoist/kit/react-beautiful-dnd';
|
|
29
|
-
import {
|
|
29
|
+
import {elemWithin, getTestId} from '@xh/hoist/utils/js';
|
|
30
30
|
import {splitLayoutProps} from '@xh/hoist/utils/react';
|
|
31
31
|
import classNames from 'classnames';
|
|
32
|
-
import {isEmpty, isNil
|
|
32
|
+
import {isEmpty, isNil} from 'lodash';
|
|
33
33
|
import './GroupingChooser.scss';
|
|
34
34
|
import {ReactNode} from 'react';
|
|
35
35
|
|
|
@@ -55,9 +55,6 @@ export interface GroupingChooserProps extends ButtonProps<GroupingChooserModel>
|
|
|
55
55
|
/** Position of popover relative to target button. */
|
|
56
56
|
popoverPosition?: 'bottom' | 'top';
|
|
57
57
|
|
|
58
|
-
/** @deprecated - use `editorTitle` instead */
|
|
59
|
-
popoverTitle?: ReactNode;
|
|
60
|
-
|
|
61
58
|
/**
|
|
62
59
|
* Width in pixels of the popover menu itself.
|
|
63
60
|
* If unspecified, will default based on favorites enabled status + side.
|
|
@@ -89,7 +86,6 @@ export const [GroupingChooser, groupingChooser] = hoistCmp.withFactory<GroupingC
|
|
|
89
86
|
favoritesTitle = 'Favorites',
|
|
90
87
|
popoverWidth,
|
|
91
88
|
popoverMinHeight,
|
|
92
|
-
popoverTitle,
|
|
93
89
|
popoverPosition = 'bottom',
|
|
94
90
|
styleButtonAsInput = true,
|
|
95
91
|
testId,
|
|
@@ -104,15 +100,6 @@ export const [GroupingChooser, groupingChooser] = hoistCmp.withFactory<GroupingC
|
|
|
104
100
|
favesClassNameMod = `faves-${persistFavorites ? favoritesSide : 'disabled'}`,
|
|
105
101
|
favesTB = isTB(favoritesSide);
|
|
106
102
|
|
|
107
|
-
if (!isUndefined(popoverTitle)) {
|
|
108
|
-
apiDeprecated('GroupingChooser.popoverTitle', {
|
|
109
|
-
msg: `Update to use 'editorTitle' instead`,
|
|
110
|
-
v: `v78`,
|
|
111
|
-
source: GroupingChooser
|
|
112
|
-
});
|
|
113
|
-
editorTitle = popoverTitle;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
103
|
popoverWidth = popoverWidth || (persistFavorites && !favesTB ? 500 : 250);
|
|
117
104
|
|
|
118
105
|
return box({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xh/hoist",
|
|
3
|
-
"version": "79.0.0-SNAPSHOT.
|
|
3
|
+
"version": "79.0.0-SNAPSHOT.1765206592110",
|
|
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",
|