@xh/hoist 55.0.8 → 55.2.0
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 +19 -1
- package/admin/columns/Tracking.ts +12 -14
- package/admin/tabs/activity/aggregators/RangeAggregator.ts +4 -5
- package/admin/tabs/activity/clienterrors/ClientErrorsModel.ts +1 -1
- package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +18 -16
- package/admin/tabs/general/config/ConfigPanelModel.ts +1 -1
- package/admin/tabs/general/users/UserModel.ts +1 -1
- package/admin/tabs/server/ehcache/EhCacheModel.ts +1 -1
- package/admin/tabs/server/logViewer/LogDisplayModel.ts +1 -1
- package/admin/tabs/userData/JsonBlobModel.ts +1 -1
- package/admin/tabs/userData/PreferenceModel.ts +1 -1
- package/appcontainer/AboutDialogModel.ts +1 -1
- package/appcontainer/BannerModel.ts +1 -1
- package/appcontainer/BannerSourceModel.ts +1 -1
- package/appcontainer/ChangelogDialogModel.ts +1 -1
- package/appcontainer/ErrorBoundary.ts +2 -2
- package/appcontainer/ExceptionDialogModel.ts +1 -1
- package/appcontainer/FeedbackDialogModel.ts +1 -1
- package/appcontainer/ImpersonationBarModel.ts +1 -1
- package/appcontainer/MessageModel.ts +2 -2
- package/appcontainer/MessageSourceModel.ts +1 -1
- package/appcontainer/OptionsDialogModel.ts +1 -1
- package/appcontainer/SizingModeModel.ts +1 -1
- package/appcontainer/ThemeModel.ts +1 -1
- package/appcontainer/ToastModel.ts +2 -2
- package/appcontainer/ToastSourceModel.ts +1 -1
- package/appcontainer/ViewportSizeModel.ts +1 -1
- package/cmp/ag-grid/AgGrid.ts +1 -1
- package/cmp/chart/Chart.ts +3 -3
- package/cmp/clock/Clock.ts +2 -2
- package/cmp/dataview/DataView.ts +2 -2
- package/cmp/dataview/DataViewModel.ts +1 -1
- package/cmp/grid/Grid.ts +1 -1
- package/cmp/grid/filter/GridFilterModel.ts +1 -1
- package/cmp/grid/impl/ColumnGroupHeader.ts +3 -3
- package/cmp/grid/impl/ColumnHeader.ts +3 -3
- package/cmp/grid/impl/GridPersistenceModel.ts +1 -1
- package/cmp/input/HoistInputModel.ts +1 -1
- package/cmp/layout/TileFrame.ts +1 -1
- package/cmp/relativetimestamp/RelativeTimestamp.ts +1 -1
- package/cmp/store/impl/StoreFilterFieldImplModel.ts +2 -2
- package/core/TaskObserver.ts +8 -8
- package/core/model/HoistModel.ts +1 -1
- package/core/model/ManagedRefreshContextModel.ts +1 -1
- package/core/persist/CustomProvider.ts +3 -3
- package/core/persist/DashViewProvider.ts +3 -3
- package/core/persist/LocalStorageProvider.ts +3 -3
- package/core/persist/PrefProvider.ts +3 -3
- package/data/cube/Cube.ts +1 -1
- package/data/cube/View.ts +7 -5
- package/data/cube/row/AggregateRow.ts +3 -2
- package/desktop/appcontainer/ToastSource.ts +2 -2
- package/desktop/cmp/dash/DashViewModel.ts +5 -5
- package/desktop/cmp/dash/canvas/DashCanvasModel.ts +16 -6
- package/desktop/cmp/dash/canvas/DashCanvasViewModel.ts +7 -2
- package/desktop/cmp/dash/canvas/DashCanvasViewSpec.ts +15 -0
- package/desktop/cmp/dash/canvas/impl/DashCanvasView.ts +2 -2
- package/desktop/cmp/dock/DockViewModel.ts +1 -1
- package/desktop/cmp/grid/editors/impl/InlineEditorModel.ts +1 -1
- package/desktop/cmp/grid/find/impl/GridFindFieldImplModel.ts +1 -1
- package/desktop/cmp/grid/impl/colchooser/ColChooserModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/ColumnHeaderFilterModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/GridFilterDialog.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomRowModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomTabModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/values/ValuesTabModel.ts +1 -1
- package/desktop/cmp/input/ButtonGroupInput.ts +1 -1
- package/desktop/cmp/input/Checkbox.ts +1 -1
- package/desktop/cmp/input/CodeInput.ts +2 -2
- package/desktop/cmp/input/DateInput.ts +1 -1
- package/desktop/cmp/input/NumberInput.ts +4 -4
- package/desktop/cmp/input/RadioInput.ts +1 -1
- package/desktop/cmp/input/Select.ts +6 -6
- package/desktop/cmp/input/Slider.ts +1 -1
- package/desktop/cmp/input/SwitchInput.ts +1 -1
- package/desktop/cmp/input/TextArea.ts +1 -1
- package/desktop/cmp/input/TextInput.ts +1 -1
- package/desktop/cmp/leftrightchooser/LeftRightChooserFilter.ts +1 -1
- package/desktop/cmp/loadingindicator/LoadingIndicator.ts +1 -1
- package/desktop/cmp/mask/Mask.ts +2 -2
- package/desktop/cmp/modalsupport/ModalSupportModel.ts +2 -2
- package/desktop/cmp/panel/impl/dragger/DraggerModel.ts +1 -1
- package/desktop/cmp/rest/RestGridModel.ts +3 -3
- package/desktop/cmp/rest/data/RestStore.ts +14 -15
- package/desktop/cmp/rest/impl/RestFormModel.ts +1 -1
- package/desktop/cmp/tab/TabSwitcher.ts +1 -1
- package/desktop/cmp/treemap/TreeMap.ts +3 -3
- package/inspector/instances/InstancesModel.ts +2 -2
- package/inspector/stats/StatsModel.ts +2 -2
- package/mobile/cmp/grid/impl/ColChooser.ts +1 -1
- package/mobile/cmp/grid/impl/ColChooserModel.ts +1 -1
- package/mobile/cmp/input/ButtonGroupInput.ts +3 -3
- package/mobile/cmp/input/Checkbox.ts +1 -1
- package/mobile/cmp/input/DateInput.ts +5 -5
- package/mobile/cmp/input/Label.ts +1 -1
- package/mobile/cmp/input/NumberInput.ts +8 -8
- package/mobile/cmp/input/SearchInput.ts +3 -3
- package/mobile/cmp/input/Select.ts +9 -9
- package/mobile/cmp/input/SwitchInput.ts +1 -1
- package/mobile/cmp/input/TextArea.ts +4 -4
- package/mobile/cmp/input/TextInput.ts +3 -3
- package/mobile/cmp/loadingindicator/LoadingIndicator.ts +1 -1
- package/mobile/cmp/mask/Mask.ts +1 -1
- package/mobile/cmp/menu/MenuButton.ts +1 -1
- package/mobile/cmp/menu/impl/Menu.ts +1 -1
- package/mobile/cmp/popover/Popover.ts +1 -1
- package/mobile/cmp/tab/impl/TabContainer.ts +1 -1
- package/package.json +1 -1
- package/svc/AlertBannerService.ts +1 -1
- package/svc/AutoRefreshService.ts +1 -1
- package/svc/ChangelogService.ts +1 -1
- package/svc/GridAutosizeService.ts +1 -1
- package/svc/GridExportService.ts +1 -1
- package/svc/IdleService.ts +1 -1
- package/svc/InspectorService.ts +2 -2
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## v55.
|
|
3
|
+
## v55.2.0 - 2023-02-10
|
|
4
|
+
|
|
5
|
+
### 🎁 New Features
|
|
6
|
+
* `DashCanvas` enhancements:
|
|
7
|
+
* Views now support minimum and maximum dimensions.
|
|
8
|
+
* Views now expose an `allowDuplicate` flag for controlling the `Duplicate` menu item visibility.
|
|
9
|
+
|
|
10
|
+
### 🐞 Bug Fixes
|
|
11
|
+
* Fixed a bug with Cube views having dimensions containing non-string or `null` values. Rows grouped
|
|
12
|
+
by these dimensions would report values for the dimension which were incorrectly stringified (e.g.
|
|
13
|
+
`null` vs. `'null'` or `'5'` vs. `5`). This has been fixed. Note that the stringified value is
|
|
14
|
+
still reported for the rows' `cubeLabel` value, and will be used for the purposes of grouping.
|
|
15
|
+
|
|
16
|
+
### ⚙️ Typescript API Adjustments
|
|
17
|
+
|
|
18
|
+
* Improved signatures of `RestStore` APIs.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## v55.1.0 - 2023-02-09
|
|
4
22
|
|
|
5
23
|
Version 55 is the first major update of the toolkit after our transition to typescript. In addition
|
|
6
24
|
to a host of runtime fixes and features, it also contains a good number of important typescript
|
|
@@ -8,7 +8,6 @@ import {RangeAggregator} from '@xh/hoist/admin/tabs/activity/aggregators/RangeAg
|
|
|
8
8
|
import {Icon} from '@xh/hoist/icon';
|
|
9
9
|
import {fmtDate, fmtSpan, numberRenderer} from '@xh/hoist/format';
|
|
10
10
|
import * as Col from '@xh/hoist/cmp/grid/columns';
|
|
11
|
-
import {isFinite} from 'lodash';
|
|
12
11
|
import {ColumnSpec} from '@xh/hoist/cmp/grid/columns';
|
|
13
12
|
|
|
14
13
|
export const appEnvironment: ColumnSpec = {
|
|
@@ -56,8 +55,7 @@ export const day: ColumnSpec = {
|
|
|
56
55
|
field: {
|
|
57
56
|
name: 'day',
|
|
58
57
|
type: 'localDate',
|
|
59
|
-
isDimension: true
|
|
60
|
-
aggregator: new RangeAggregator()
|
|
58
|
+
isDimension: true
|
|
61
59
|
},
|
|
62
60
|
...Col.localDate,
|
|
63
61
|
displayName: 'App Day'
|
|
@@ -178,25 +176,25 @@ export const userMessageFlag: ColumnSpec = {
|
|
|
178
176
|
}
|
|
179
177
|
};
|
|
180
178
|
|
|
181
|
-
export const
|
|
179
|
+
export const dayRange: ColumnSpec = {
|
|
182
180
|
field: {
|
|
183
|
-
name: '
|
|
181
|
+
name: 'dayRange',
|
|
184
182
|
type: 'json',
|
|
185
|
-
|
|
183
|
+
aggregator: new RangeAggregator(),
|
|
184
|
+
displayName: 'App Day Range'
|
|
186
185
|
},
|
|
187
|
-
|
|
186
|
+
align: 'right',
|
|
188
187
|
width: 200,
|
|
189
|
-
renderer:
|
|
190
|
-
exportValue:
|
|
191
|
-
comparator:
|
|
188
|
+
renderer: dayRangeRenderer,
|
|
189
|
+
exportValue: dayRangeRenderer,
|
|
190
|
+
comparator: dayRangeComparator
|
|
192
191
|
};
|
|
193
192
|
|
|
194
193
|
//-----------------------
|
|
195
194
|
// Implementation
|
|
196
195
|
//-----------------------
|
|
197
|
-
function
|
|
198
|
-
if (!range) return;
|
|
199
|
-
if (isFinite(range)) return fmtDate(range);
|
|
196
|
+
function dayRangeRenderer(range) {
|
|
197
|
+
if (!range) return null;
|
|
200
198
|
|
|
201
199
|
const {min, max} = range,
|
|
202
200
|
minStr = fmtDate(min),
|
|
@@ -206,7 +204,7 @@ function dateRangeRenderer(range) {
|
|
|
206
204
|
return `${minStr} → ${maxStr}`;
|
|
207
205
|
}
|
|
208
206
|
|
|
209
|
-
function
|
|
207
|
+
function dayRangeComparator(rangeA, rangeB, sortDir, abs, {defaultComparator}) {
|
|
210
208
|
const maxA = rangeA?.max,
|
|
211
209
|
maxB = rangeB?.max;
|
|
212
210
|
|
|
@@ -11,8 +11,8 @@ import {min, max} from 'lodash';
|
|
|
11
11
|
export class RangeAggregator extends Aggregator {
|
|
12
12
|
|
|
13
13
|
override aggregate(rows, fieldName) {
|
|
14
|
-
const minVals = rows.map(row => row.
|
|
15
|
-
maxVals = rows.map(row => row.
|
|
14
|
+
const minVals = rows.map(row => row.data[fieldName].min),
|
|
15
|
+
maxVals = rows.map(row => row.data[fieldName].max);
|
|
16
16
|
|
|
17
17
|
return {min: min(minVals), max: max(maxVals)};
|
|
18
18
|
}
|
|
@@ -26,9 +26,8 @@ export class RangeAggregator extends Aggregator {
|
|
|
26
26
|
|
|
27
27
|
if (newValue == null) return currAgg;
|
|
28
28
|
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
maxToCheck = valFromLeaf ? newValue : newValue.max,
|
|
29
|
+
const minToCheck = newValue.min,
|
|
30
|
+
maxToCheck = newValue.max,
|
|
32
31
|
newAgg = {...currAgg};
|
|
33
32
|
|
|
34
33
|
if (minToCheck < currAgg.min) newAgg.min = minToCheck;
|
|
@@ -16,7 +16,7 @@ import moment from 'moment';
|
|
|
16
16
|
|
|
17
17
|
export class ClientErrorsModel extends HoistModel {
|
|
18
18
|
|
|
19
|
-
persistWith = {localStorageKey: 'xhAdminClientErrorsState'};
|
|
19
|
+
override persistWith = {localStorageKey: 'xhAdminClientErrorsState'};
|
|
20
20
|
|
|
21
21
|
@bindable.ref startDay: LocalDate;
|
|
22
22
|
@bindable.ref endDay: LocalDate;
|
|
@@ -21,7 +21,7 @@ export const PERSIST_ACTIVITY = {localStorageKey: 'xhAdminActivityState'};
|
|
|
21
21
|
|
|
22
22
|
export class ActivityTrackingModel extends HoistModel {
|
|
23
23
|
|
|
24
|
-
persistWith = PERSIST_ACTIVITY;
|
|
24
|
+
override persistWith = PERSIST_ACTIVITY;
|
|
25
25
|
|
|
26
26
|
@managed formModel: FormModel;
|
|
27
27
|
@managed groupingChooserModel: GroupingChooserModel;
|
|
@@ -66,21 +66,22 @@ export class ActivityTrackingModel extends HoistModel {
|
|
|
66
66
|
|
|
67
67
|
this.cube = new Cube({
|
|
68
68
|
fields: [
|
|
69
|
-
Col.browser.field
|
|
70
|
-
Col.category.field
|
|
71
|
-
Col.data.field
|
|
69
|
+
Col.browser.field,
|
|
70
|
+
Col.category.field,
|
|
71
|
+
Col.data.field,
|
|
72
72
|
{...Col.dateCreated.field as FieldSpec, displayName: 'Timestamp'},
|
|
73
|
-
Col.day.field
|
|
74
|
-
Col.
|
|
75
|
-
Col.
|
|
76
|
-
Col.
|
|
77
|
-
Col.
|
|
78
|
-
Col.
|
|
79
|
-
Col.
|
|
80
|
-
Col.
|
|
73
|
+
Col.day.field,
|
|
74
|
+
Col.dayRange.field,
|
|
75
|
+
Col.device.field,
|
|
76
|
+
Col.elapsed.field,
|
|
77
|
+
Col.entryCount.field,
|
|
78
|
+
Col.impersonating.field,
|
|
79
|
+
Col.msg.field,
|
|
80
|
+
Col.userAgent.field,
|
|
81
|
+
Col.username.field,
|
|
81
82
|
{name: 'count', type: 'int', aggregator: 'CHILD_COUNT'},
|
|
82
83
|
{name: 'month', type: 'string', isDimension: true, aggregator: 'UNIQUE'}
|
|
83
|
-
]
|
|
84
|
+
] as CubeFieldSpec[]
|
|
84
85
|
});
|
|
85
86
|
|
|
86
87
|
this.groupingChooserModel = new GroupingChooserModel({
|
|
@@ -162,7 +163,7 @@ export class ActivityTrackingModel extends HoistModel {
|
|
|
162
163
|
{...Col.userAgent, hidden},
|
|
163
164
|
{...Col.impersonating, hidden},
|
|
164
165
|
{...Col.elapsed, headerName: 'Elapsed (avg)', hidden},
|
|
165
|
-
{...Col.
|
|
166
|
+
{...Col.dayRange, hidden},
|
|
166
167
|
{...Col.entryCount},
|
|
167
168
|
{field: 'count', hidden}
|
|
168
169
|
]
|
|
@@ -203,6 +204,7 @@ export class ActivityTrackingModel extends HoistModel {
|
|
|
203
204
|
data.forEach(it => {
|
|
204
205
|
it.day = LocalDate.from(it.day);
|
|
205
206
|
it.month = it.day.format(this._monthFormat);
|
|
207
|
+
it.dayRange = {min: it.day, max: it.day};
|
|
206
208
|
});
|
|
207
209
|
|
|
208
210
|
await cube.loadDataAsync(data);
|
|
@@ -291,8 +293,8 @@ export class ActivityTrackingModel extends HoistModel {
|
|
|
291
293
|
if (rawVal == null) return null;
|
|
292
294
|
|
|
293
295
|
switch (dim) {
|
|
294
|
-
//
|
|
295
|
-
case 'day': return rawVal.
|
|
296
|
+
// Sort date desc by default
|
|
297
|
+
case 'day': return rawVal.timestamp * -1;
|
|
296
298
|
// Months are formatted "June 2020" strings - sort desc.
|
|
297
299
|
case 'month': return moment(rawVal, this._monthFormat).valueOf() * -1;
|
|
298
300
|
// Everything else can sort with its natural value.
|
|
@@ -24,7 +24,7 @@ import {FieldSpec} from '@xh/hoist/data';
|
|
|
24
24
|
|
|
25
25
|
export class ConfigPanelModel extends HoistModel {
|
|
26
26
|
|
|
27
|
-
persistWith = {localStorageKey: 'xhAdminConfigState'};
|
|
27
|
+
override persistWith = {localStorageKey: 'xhAdminConfigState'};
|
|
28
28
|
|
|
29
29
|
@managed
|
|
30
30
|
regroupDialogModel = new RegroupDialogModel(this);
|
|
@@ -12,7 +12,7 @@ import {keyBy, keys} from 'lodash';
|
|
|
12
12
|
|
|
13
13
|
export class UserModel extends HoistModel {
|
|
14
14
|
|
|
15
|
-
persistWith = {localStorageKey: 'xhAdminUserState'};
|
|
15
|
+
override persistWith = {localStorageKey: 'xhAdminUserState'};
|
|
16
16
|
|
|
17
17
|
@bindable activeOnly = true;
|
|
18
18
|
@bindable withRolesOnly = false;
|
|
@@ -12,7 +12,7 @@ import {trimEnd} from 'lodash';
|
|
|
12
12
|
|
|
13
13
|
export class EhCacheModel extends HoistModel {
|
|
14
14
|
|
|
15
|
-
persistWith = {localStorageKey: 'xhAdminEhCacheState'};
|
|
15
|
+
override persistWith = {localStorageKey: 'xhAdminEhCacheState'};
|
|
16
16
|
|
|
17
17
|
@managed
|
|
18
18
|
gridModel = new GridModel({
|
|
@@ -19,7 +19,7 @@ import {LogViewerModel} from './LogViewerModel';
|
|
|
19
19
|
*/
|
|
20
20
|
export class LogDisplayModel extends HoistModel {
|
|
21
21
|
|
|
22
|
-
persistWith = {localStorageKey: 'xhAdminLogViewerState'};
|
|
22
|
+
override persistWith = {localStorageKey: 'xhAdminLogViewerState'};
|
|
23
23
|
|
|
24
24
|
parent: LogViewerModel;
|
|
25
25
|
|
|
@@ -21,7 +21,7 @@ import {FieldSpec} from '@xh/hoist/data';
|
|
|
21
21
|
|
|
22
22
|
export class JsonBlobModel extends HoistModel {
|
|
23
23
|
|
|
24
|
-
persistWith = {localStorageKey: 'xhAdminJsonBlobState'};
|
|
24
|
+
override persistWith = {localStorageKey: 'xhAdminJsonBlobState'};
|
|
25
25
|
|
|
26
26
|
@managed
|
|
27
27
|
gridModel: RestGridModel;
|
|
@@ -22,7 +22,7 @@ import {FieldSpec} from '@xh/hoist/data';
|
|
|
22
22
|
|
|
23
23
|
export class PreferenceModel extends HoistModel {
|
|
24
24
|
|
|
25
|
-
persistWith = {localStorageKey: 'xhAdminPreferenceState'};
|
|
25
|
+
override persistWith = {localStorageKey: 'xhAdminPreferenceState'};
|
|
26
26
|
|
|
27
27
|
@managed
|
|
28
28
|
regroupDialogModel = new RegroupDialogModel(this);
|
|
@@ -9,7 +9,7 @@ import {action, observable, makeObservable} from '@xh/hoist/mobx';
|
|
|
9
9
|
import {throwIf} from '@xh/hoist/utils/js';
|
|
10
10
|
|
|
11
11
|
export class ChangelogDialogModel extends HoistModel {
|
|
12
|
-
xhImpl = true;
|
|
12
|
+
override xhImpl = true;
|
|
13
13
|
|
|
14
14
|
@observable isOpen: boolean = false;
|
|
15
15
|
|
|
@@ -20,12 +20,12 @@ export class ErrorBoundary extends Component {
|
|
|
20
20
|
this.state = {caughtError: null, onError: props.onError};
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
render() {
|
|
23
|
+
override render() {
|
|
24
24
|
// @ts-ignore
|
|
25
25
|
return this.state.caughtError ? 'An error occurred while rendering this Component.' : this.props.children ?? null;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
componentDidCatch(e, info) {
|
|
28
|
+
override componentDidCatch(e, info) {
|
|
29
29
|
XH.handleException(e, {requireReload: true});
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -16,7 +16,7 @@ import {action, observable, makeObservable, bindable} from '@xh/hoist/mobx';
|
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
18
|
export class ExceptionDialogModel extends HoistModel {
|
|
19
|
-
xhImpl = true;
|
|
19
|
+
override xhImpl = true;
|
|
20
20
|
|
|
21
21
|
@observable.ref
|
|
22
22
|
displayData: {exception: any, options: any};
|
|
@@ -12,7 +12,7 @@ import {throwIf} from '@xh/hoist/utils/js';
|
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
14
|
export class ImpersonationBarModel extends HoistModel {
|
|
15
|
-
xhImpl = true;
|
|
15
|
+
override xhImpl = true;
|
|
16
16
|
|
|
17
17
|
@observable showRequested: boolean = false;
|
|
18
18
|
@observable.ref targets: string[] = [];
|
|
@@ -17,7 +17,7 @@ import {isEmpty} from 'lodash';
|
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
19
|
export class MessageModel extends HoistModel {
|
|
20
|
-
xhImpl = true;
|
|
20
|
+
override xhImpl = true;
|
|
21
21
|
|
|
22
22
|
// Immutable properties
|
|
23
23
|
title;
|
|
@@ -132,7 +132,7 @@ export class MessageModel extends HoistModel {
|
|
|
132
132
|
//-----------------------
|
|
133
133
|
// Implementation
|
|
134
134
|
//-----------------------
|
|
135
|
-
destroy() {
|
|
135
|
+
override destroy() {
|
|
136
136
|
this.close();
|
|
137
137
|
super.destroy();
|
|
138
138
|
}
|
|
@@ -20,7 +20,7 @@ import {ReactNode, ReactElement} from 'react';
|
|
|
20
20
|
* will have no effect.
|
|
21
21
|
*/
|
|
22
22
|
export class ToastModel extends HoistModel {
|
|
23
|
-
xhImpl = true;
|
|
23
|
+
override xhImpl = true;
|
|
24
24
|
|
|
25
25
|
message: ReactNode;
|
|
26
26
|
icon: ReactElement;
|
|
@@ -58,7 +58,7 @@ export class ToastModel extends HoistModel {
|
|
|
58
58
|
this.isOpen = false;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
destroy() {
|
|
61
|
+
override destroy() {
|
|
62
62
|
this.dismiss();
|
|
63
63
|
super.destroy();
|
|
64
64
|
}
|
package/cmp/ag-grid/AgGrid.ts
CHANGED
package/cmp/chart/Chart.ts
CHANGED
|
@@ -91,7 +91,7 @@ export const [Chart, chart] = hoistCmp.withFactory<ChartProps>({
|
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
class ChartLocalModel extends HoistModel {
|
|
94
|
-
xhImpl = true;
|
|
94
|
+
override xhImpl = true;
|
|
95
95
|
|
|
96
96
|
@lookup(ChartModel)
|
|
97
97
|
model: ChartModel;
|
|
@@ -100,7 +100,7 @@ class ChartLocalModel extends HoistModel {
|
|
|
100
100
|
contextMenu: any;
|
|
101
101
|
prevSeriesConfig;
|
|
102
102
|
|
|
103
|
-
onLinked() {
|
|
103
|
+
override onLinked() {
|
|
104
104
|
this.contextMenu = this.getContextMenu();
|
|
105
105
|
|
|
106
106
|
this.addReaction({
|
|
@@ -222,7 +222,7 @@ class ChartLocalModel extends HoistModel {
|
|
|
222
222
|
return {width, height};
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
destroy() {
|
|
225
|
+
override destroy() {
|
|
226
226
|
this.destroyHighChart();
|
|
227
227
|
super.destroy();
|
|
228
228
|
}
|
package/cmp/clock/Clock.ts
CHANGED
|
@@ -59,7 +59,7 @@ export const [Clock, clock] = hoistCmp.withFactory<ClockProps>({
|
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
class ClockLocalModel extends HoistModel {
|
|
62
|
-
xhImpl = true;
|
|
62
|
+
override xhImpl = true;
|
|
63
63
|
|
|
64
64
|
offset;
|
|
65
65
|
offsetException;
|
|
@@ -72,7 +72,7 @@ class ClockLocalModel extends HoistModel {
|
|
|
72
72
|
makeObservable(this);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
onLinked() {
|
|
75
|
+
override onLinked() {
|
|
76
76
|
this.addReaction({
|
|
77
77
|
track: () => this.componentProps.timeZone,
|
|
78
78
|
run: () => this.loadTimezoneOffsetAsync(),
|
package/cmp/dataview/DataView.ts
CHANGED
|
@@ -39,12 +39,12 @@ export const [DataView, dataView] = hoistCmp.withFactory<DataViewProps>({
|
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
class DataViewLocalModel extends HoistModel {
|
|
42
|
-
xhImpl = true;
|
|
42
|
+
override xhImpl = true;
|
|
43
43
|
|
|
44
44
|
@lookup(DataViewModel) model: DataViewModel;
|
|
45
45
|
agOptions: PlainObject;
|
|
46
46
|
|
|
47
|
-
onLinked() {
|
|
47
|
+
override onLinked() {
|
|
48
48
|
const {model} = this;
|
|
49
49
|
|
|
50
50
|
this.addReaction({
|
|
@@ -219,7 +219,7 @@ export class DataViewModel extends HoistModel {
|
|
|
219
219
|
return this.gridModel.ensureSelectionVisibleAsync();
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
doLoadAsync(loadSpec: LoadSpec) {
|
|
222
|
+
override doLoadAsync(loadSpec: LoadSpec) {
|
|
223
223
|
return this.gridModel.doLoadAsync(loadSpec);
|
|
224
224
|
}
|
|
225
225
|
|
package/cmp/grid/Grid.ts
CHANGED
|
@@ -128,7 +128,7 @@ export const [Grid, grid] = hoistCmp.withFactory<GridProps>({
|
|
|
128
128
|
// Implementation
|
|
129
129
|
//------------------------
|
|
130
130
|
class GridLocalModel extends HoistModel {
|
|
131
|
-
xhImpl = true;
|
|
131
|
+
override xhImpl = true;
|
|
132
132
|
|
|
133
133
|
@lookup(GridModel)
|
|
134
134
|
private model: GridModel;
|
|
@@ -55,7 +55,7 @@ export const columnGroupHeader = hoistCmp.factory({
|
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
class ColumnGroupHeaderModel extends HoistModel {
|
|
58
|
-
xhImpl = true;
|
|
58
|
+
override xhImpl = true;
|
|
59
59
|
|
|
60
60
|
@bindable isExpanded = true;
|
|
61
61
|
|
|
@@ -72,12 +72,12 @@ class ColumnGroupHeaderModel extends HoistModel {
|
|
|
72
72
|
makeObservable(this);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
onLinked() {
|
|
75
|
+
override onLinked() {
|
|
76
76
|
this.syncIsExpanded();
|
|
77
77
|
this.agColumnGroup.addEventListener('expandedChanged', this.syncIsExpanded);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
destroy() {
|
|
80
|
+
override destroy() {
|
|
81
81
|
this.agColumnGroup.removeEventListener('expandedChanged', this.syncIsExpanded);
|
|
82
82
|
super.destroy();
|
|
83
83
|
}
|
|
@@ -128,7 +128,7 @@ export const columnHeader = hoistCmp.factory({
|
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
class ColumnHeaderModel extends HoistModel {
|
|
131
|
-
xhImpl = true;
|
|
131
|
+
override xhImpl = true;
|
|
132
132
|
|
|
133
133
|
get gridModel() {return this.componentProps.gridModel}
|
|
134
134
|
get xhColumn() {return this.componentProps.xhColumn}
|
|
@@ -157,7 +157,7 @@ class ColumnHeaderModel extends HoistModel {
|
|
|
157
157
|
makeObservable(this);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
onLinked() {
|
|
160
|
+
override onLinked() {
|
|
161
161
|
const {xhColumn, agColumn} = this,
|
|
162
162
|
{filterModel} = this.gridModel;
|
|
163
163
|
|
|
@@ -172,7 +172,7 @@ class ColumnHeaderModel extends HoistModel {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
destroy() {
|
|
175
|
+
override destroy() {
|
|
176
176
|
this.agColumn.removeEventListener('filterChanged', this.onFilterChanged);
|
|
177
177
|
super.destroy();
|
|
178
178
|
}
|
package/cmp/layout/TileFrame.ts
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
* @internal
|
|
27
27
|
*/
|
|
28
28
|
export class StoreFilterFieldImplModel extends HoistModel {
|
|
29
|
-
xhImpl = true;
|
|
29
|
+
override xhImpl = true;
|
|
30
30
|
|
|
31
31
|
@lookup('*') model;
|
|
32
32
|
|
|
@@ -41,7 +41,7 @@ export class StoreFilterFieldImplModel extends HoistModel {
|
|
|
41
41
|
makeObservable(this);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
onLinked() {
|
|
44
|
+
override onLinked() {
|
|
45
45
|
let {gridModel, store, includeFields, bind, filterBuffer = 200} = this.componentProps;
|
|
46
46
|
|
|
47
47
|
throwIf(gridModel && store, "Cannot specify both 'gridModel' and 'store' props.");
|