ydb-embedded-ui 1.8.4 → 1.8.7
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 +21 -0
- package/dist/containers/App/App.js +3 -5
- package/dist/containers/AsideNavigation/AsideNavigation.tsx +1 -0
- package/dist/containers/Storage/Storage.js +8 -5
- package/dist/containers/Tenant/Preview/Preview.js +3 -0
- package/dist/utils/utils.js +8 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [1.8.7](https://github.com/ydb-platform/ydb-embedded-ui/compare/v1.8.6...v1.8.7) (2022-07-18)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* **Preview:** sort numbers as numbers, not string ([6c42a62](https://github.com/ydb-platform/ydb-embedded-ui/commit/6c42a62d077fcb9419ceb680906d4cef78a0134f))
|
9
|
+
|
10
|
+
## [1.8.6](https://github.com/ydb-platform/ydb-embedded-ui/compare/v1.8.5...v1.8.6) (2022-07-14)
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* **Tenant:** fix switching between groups and nodes on storage tab ([6923885](https://github.com/ydb-platform/ydb-embedded-ui/commit/6923885336fa21ac985879e41685137adbf8159a))
|
16
|
+
|
17
|
+
## [1.8.5](https://github.com/ydb-platform/ydb-embedded-ui/compare/v1.8.4...v1.8.5) (2022-07-11)
|
18
|
+
|
19
|
+
|
20
|
+
### Bug Fixes
|
21
|
+
|
22
|
+
* **AsideNavigation:** aside header is compact by default ([aa3ad03](https://github.com/ydb-platform/ydb-embedded-ui/commit/aa3ad033fc6b62e6f2ee595e266343e67e764ec6))
|
23
|
+
|
3
24
|
## [1.8.4](https://github.com/ydb-platform/ydb-embedded-ui/compare/v1.8.3...v1.8.4) (2022-07-11)
|
4
25
|
|
5
26
|
|
@@ -3,7 +3,7 @@ import {connect} from 'react-redux';
|
|
3
3
|
import PropTypes from 'prop-types';
|
4
4
|
|
5
5
|
import {configure as configureUiKit} from '@yandex-cloud/uikit';
|
6
|
-
import {
|
6
|
+
import {configure as configureYdbUiComponents} from 'ydb-ui-components';
|
7
7
|
import {i18n, Lang} from '../../utils/i18n';
|
8
8
|
|
9
9
|
import ContentWrapper, {Content} from './Content';
|
@@ -27,10 +27,8 @@ class App extends React.Component {
|
|
27
27
|
constructor(props) {
|
28
28
|
super(props);
|
29
29
|
i18n.setLang(Lang.En);
|
30
|
-
|
31
|
-
configureUiKit({
|
32
|
-
lang: Lang.En,
|
33
|
-
});
|
30
|
+
configureYdbUiComponents({lang: Lang.En});
|
31
|
+
configureUiKit({lang: Lang.En});
|
34
32
|
}
|
35
33
|
|
36
34
|
componentDidMount() {
|
@@ -189,6 +189,7 @@ function AsideNavigation(props: AsideNavigationProps) {
|
|
189
189
|
onLogoIconClick={() => history.push('/')}
|
190
190
|
menuItems={menuItems}
|
191
191
|
settings={<UserSettings />}
|
192
|
+
initIsCompact
|
192
193
|
className={b()}
|
193
194
|
renderContent={() => props.children}
|
194
195
|
renderFooter={({isCompact, asideRef}) => (
|
@@ -115,7 +115,9 @@ class Storage extends React.Component {
|
|
115
115
|
filter: FILTER_OPTIONS[visibleEntities],
|
116
116
|
type: storageType,
|
117
117
|
});
|
118
|
+
};
|
118
119
|
|
120
|
+
const restartAutorefresh = () => {
|
119
121
|
this.autofetcher.stop();
|
120
122
|
this.autofetcher.start();
|
121
123
|
this.autofetcher.fetch(() =>
|
@@ -131,14 +133,15 @@ class Storage extends React.Component {
|
|
131
133
|
}
|
132
134
|
if (database && autorefresh && !prevProps.autorefresh) {
|
133
135
|
startFetch();
|
136
|
+
restartAutorefresh();
|
134
137
|
}
|
135
138
|
|
136
|
-
if (
|
137
|
-
(storageType !== prevProps.storageType ||
|
138
|
-
visibleEntities !== prevProps.visibleEntities) &&
|
139
|
-
(!database || (database && autorefresh))
|
140
|
-
) {
|
139
|
+
if (storageType !== prevProps.storageType || visibleEntities !== prevProps.visibleEntities) {
|
141
140
|
startFetch();
|
141
|
+
|
142
|
+
if (!database || (database && autorefresh)) {
|
143
|
+
restartAutorefresh();
|
144
|
+
}
|
142
145
|
}
|
143
146
|
}
|
144
147
|
|
@@ -12,6 +12,7 @@ import Fullscreen from '../../../components/Fullscreen/Fullscreen';
|
|
12
12
|
import {sendQuery, setQueryOptions} from '../../../store/reducers/preview';
|
13
13
|
import {showTooltip, hideTooltip} from '../../../store/reducers/tooltip';
|
14
14
|
import {prepareQueryError, prepareQueryResponse} from '../../../utils/index';
|
15
|
+
import {isNumeric} from '../../../utils/utils';
|
15
16
|
|
16
17
|
import {isTableType} from '../utils/schema';
|
17
18
|
import {AutoFetcher} from '../../../utils/autofetcher';
|
@@ -127,6 +128,8 @@ class Preview extends React.Component {
|
|
127
128
|
if (data && data.length > 0) {
|
128
129
|
columns = Object.keys(data[0]).map((key) => ({
|
129
130
|
name: key,
|
131
|
+
align: isNumeric(data[0][key]) ? DataTable.RIGHT : DataTable.LEFT,
|
132
|
+
sortAccessor: (row) => isNumeric(row[key]) ? Number(row[key]) : row[key],
|
130
133
|
render: ({value}) => {
|
131
134
|
return (
|
132
135
|
<span
|
package/dist/utils/utils.js
CHANGED
@@ -81,4 +81,11 @@ export function pad9(val) {
|
|
81
81
|
result = "0" + result;
|
82
82
|
}
|
83
83
|
return result;
|
84
|
-
}
|
84
|
+
}
|
85
|
+
|
86
|
+
export function isNumeric(value) {
|
87
|
+
// need both isNaN and isNaN(parseFloat):
|
88
|
+
// - isNaN treats true/false/''/etc. as numbers, parseFloat fixes this
|
89
|
+
// - parseFloat treats '123qwe' as number, isNaN fixes this
|
90
|
+
return !isNaN(value) && !isNaN(parseFloat(value));
|
91
|
+
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "ydb-embedded-ui",
|
3
|
-
"version": "1.8.
|
3
|
+
"version": "1.8.7",
|
4
4
|
"files": [
|
5
5
|
"dist"
|
6
6
|
],
|
@@ -40,7 +40,7 @@
|
|
40
40
|
"reselect": "4.0.0",
|
41
41
|
"sass": "1.32.8",
|
42
42
|
"web-vitals": "1.1.2",
|
43
|
-
"ydb-ui-components": "2.
|
43
|
+
"ydb-ui-components": "2.3.0"
|
44
44
|
},
|
45
45
|
"scripts": {
|
46
46
|
"start": "react-app-rewired start",
|