@bundle-stats/ui 4.8.3 → 4.8.4
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/lib/components/bundle-assets/bundle-assets.js +28 -27
- package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
- package/lib/components/bundle-modules/bundle-modules.i18n.js +12 -0
- package/lib/components/bundle-modules/bundle-modules.i18n.js.map +1 -0
- package/lib/components/bundle-modules/bundle-modules.js +12 -99
- package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib/components/bundle-modules/bundle-modules.utils.js +108 -1
- package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib/components/bundle-modules/index.js +6 -45
- package/lib/components/bundle-modules/index.js.map +1 -1
- package/lib/components/entry-info/entry-info.i18n.js +7 -0
- package/lib/components/entry-info/entry-info.i18n.js.map +1 -0
- package/lib/components/entry-info/entry-info.js +27 -3
- package/lib/components/entry-info/entry-info.js.map +1 -1
- package/lib/components/job-name/job-name.js +1 -1
- package/lib/components/job-name/job-name.js.map +1 -1
- package/lib/components/metric-run-info/metric-run-info.js +10 -5
- package/lib/components/metric-run-info/metric-run-info.js.map +1 -1
- package/lib/components/metrics-table/index.js +1 -1
- package/lib/components/metrics-table/index.js.map +1 -1
- package/lib/components/metrics-table/metrics-table.i18n.js +12 -0
- package/lib/components/metrics-table/metrics-table.i18n.js.map +1 -0
- package/lib/components/metrics-table/metrics-table.js +50 -69
- package/lib/components/metrics-table/metrics-table.js.map +1 -1
- package/lib/components/metrics-table/metrics-table.module.css +2 -2
- package/lib/components/sort-button/sort-button.js +10 -4
- package/lib/components/sort-button/sort-button.js.map +1 -1
- package/lib/components/sort-button/sort-button.module.css +9 -9
- package/lib/hooks/rows-sort.js +1 -1
- package/lib/hooks/rows-sort.js.map +1 -1
- package/lib/ui/filters/filters.i18n.js +6 -0
- package/lib/ui/filters/filters.i18n.js.map +1 -0
- package/lib/ui/filters/filters.js +16 -54
- package/lib/ui/filters/filters.js.map +1 -1
- package/lib/ui/filters/filters.utils.js +27 -11
- package/lib/ui/filters/filters.utils.js.map +1 -1
- package/lib/ui/filters/index.js +0 -8
- package/lib/ui/filters/index.js.map +1 -1
- package/lib-esm/components/bundle-assets/bundle-assets.js +28 -27
- package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.i18n.js +9 -0
- package/lib-esm/components/bundle-modules/bundle-modules.i18n.js.map +1 -0
- package/lib-esm/components/bundle-modules/bundle-modules.js +13 -101
- package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js +83 -1
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib-esm/components/bundle-modules/index.js +9 -45
- package/lib-esm/components/bundle-modules/index.js.map +1 -1
- package/lib-esm/components/entry-info/entry-info.i18n.js +4 -0
- package/lib-esm/components/entry-info/entry-info.i18n.js.map +1 -0
- package/lib-esm/components/entry-info/entry-info.js +4 -3
- package/lib-esm/components/entry-info/entry-info.js.map +1 -1
- package/lib-esm/components/job-name/job-name.js +1 -1
- package/lib-esm/components/job-name/job-name.js.map +1 -1
- package/lib-esm/components/metric-run-info/metric-run-info.js +10 -5
- package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -1
- package/lib-esm/components/metrics-table/index.js +1 -1
- package/lib-esm/components/metrics-table/index.js.map +1 -1
- package/lib-esm/components/metrics-table/metrics-table.i18n.js +9 -0
- package/lib-esm/components/metrics-table/metrics-table.i18n.js.map +1 -0
- package/lib-esm/components/metrics-table/metrics-table.js +37 -79
- package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
- package/lib-esm/components/metrics-table/metrics-table.module.css +2 -2
- package/lib-esm/components/sort-button/sort-button.js +10 -4
- package/lib-esm/components/sort-button/sort-button.js.map +1 -1
- package/lib-esm/components/sort-button/sort-button.module.css +9 -9
- package/lib-esm/hooks/rows-sort.js +1 -1
- package/lib-esm/hooks/rows-sort.js.map +1 -1
- package/lib-esm/ui/filters/filters.i18n.js +3 -0
- package/lib-esm/ui/filters/filters.i18n.js.map +1 -0
- package/lib-esm/ui/filters/filters.js +16 -54
- package/lib-esm/ui/filters/filters.js.map +1 -1
- package/lib-esm/ui/filters/filters.utils.js +27 -11
- package/lib-esm/ui/filters/filters.utils.js.map +1 -1
- package/lib-esm/ui/filters/index.js +0 -8
- package/lib-esm/ui/filters/index.js.map +1 -1
- package/package.json +10 -10
- package/src/components/bundle-assets/bundle-assets.jsx +28 -30
- package/src/components/bundle-modules/bundle-modules.i18n.ts +8 -0
- package/src/components/bundle-modules/bundle-modules.tsx +200 -0
- package/src/components/bundle-modules/bundle-modules.types.d.ts +24 -0
- package/src/components/bundle-modules/bundle-modules.utils.ts +208 -0
- package/src/components/bundle-modules/index.tsx +102 -0
- package/src/components/entry-info/entry-info.i18n.ts +3 -0
- package/src/components/entry-info/entry-info.tsx +10 -4
- package/src/components/job-name/job-name.jsx +7 -1
- package/src/components/metric-run-info/metric-run-info.tsx +12 -5
- package/src/components/metrics-table/index.tsx +14 -0
- package/src/components/metrics-table/metrics-table.i18n.ts +10 -0
- package/src/components/metrics-table/metrics-table.module.css +2 -2
- package/src/components/metrics-table/metrics-table.stories.tsx +225 -0
- package/src/components/metrics-table/metrics-table.tsx +301 -0
- package/src/components/sort-button/sort-button.module.css +9 -9
- package/src/components/sort-button/sort-button.tsx +14 -6
- package/src/hooks/rows-sort.ts +9 -9
- package/src/types.d.ts +11 -0
- package/src/ui/filters/__tests__/filters.utils.ts +98 -0
- package/src/ui/filters/filters.i18n.ts +2 -0
- package/src/ui/filters/{filters.jsx → filters.tsx} +63 -72
- package/src/ui/filters/{filters.utils.js → filters.utils.ts} +38 -21
- package/src/ui/filters/{index.jsx → index.tsx} +14 -17
- package/types/components/bundle-modules/bundle-modules.d.ts +21 -62
- package/types/components/bundle-modules/bundle-modules.i18n.d.ts +8 -0
- package/types/components/bundle-modules/bundle-modules.utils.d.ts +28 -5
- package/types/components/bundle-modules/index.d.ts +13 -22
- package/types/components/entry-info/entry-info.i18n.d.ts +3 -0
- package/types/components/job-name/job-name.d.ts +1 -1
- package/types/components/metrics-table/index.d.ts +4 -1
- package/types/components/metrics-table/metrics-table.d.ts +25 -47
- package/types/components/metrics-table/metrics-table.i18n.d.ts +8 -0
- package/types/components/sort-button/sort-button.d.ts +2 -2
- package/types/hooks/rows-sort.d.ts +4 -4
- package/types/layout/box/box.d.ts +1 -1
- package/types/layout/flex-stack/flex-stack.d.ts +1 -1
- package/types/ui/filters/filters.d.ts +24 -14
- package/types/ui/filters/filters.i18n.d.ts +2 -0
- package/types/ui/filters/filters.utils.d.ts +7 -6
- package/types/ui/filters/index.d.ts +8 -12
- package/types/ui/table/table.d.ts +5 -5
- package/types/ui/tooltip/tooltip.d.ts +1 -1
- package/src/components/bundle-modules/bundle-modules.jsx +0 -291
- package/src/components/bundle-modules/bundle-modules.utils.js +0 -82
- package/src/components/bundle-modules/index.jsx +0 -113
- package/src/components/metrics-table/index.jsx +0 -11
- package/src/components/metrics-table/metrics-table.jsx +0 -309
- package/src/ui/filters/__tests__/filters-dropdown.utils.js +0 -74
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import intersection from 'lodash/intersection';
|
|
2
|
+
import get from 'lodash/get';
|
|
3
|
+
import isEmpty from 'lodash/isEmpty';
|
|
2
4
|
import union from 'lodash/union';
|
|
5
|
+
import uniqBy from 'lodash/uniqBy';
|
|
6
|
+
import orderBy from 'lodash/orderBy';
|
|
3
7
|
import { MODULE_PATH_PACKAGES } from '@bundle-stats/utils/lib-esm/webpack';
|
|
4
|
-
import { MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, MODULE_SOURCE_TYPE, getModuleSourceFileType, } from '@bundle-stats/utils';
|
|
8
|
+
import { FILE_TYPE_LABELS, MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, MODULE_SOURCE_TYPE, MODULE_SOURCE_FILE_TYPES, getModuleSourceFileType, getModuleChunkFilters, getModuleSourceTypeFilters, getModuleFileTypeFilters, } from '@bundle-stats/utils';
|
|
9
|
+
import * as I18N from './bundle-modules.i18n';
|
|
5
10
|
export const addRowFlags = (row) => {
|
|
6
11
|
const { key, runs } = row;
|
|
7
12
|
row.thirdParty = Boolean(key.match(MODULE_PATH_PACKAGES));
|
|
@@ -44,4 +49,81 @@ export const generateGetRowFilter = ({ chunkIds }) => (filters) => {
|
|
|
44
49
|
return true;
|
|
45
50
|
};
|
|
46
51
|
};
|
|
52
|
+
export const extractChunkData = (jobs) => {
|
|
53
|
+
const jobChunks = jobs.map((job) => { var _a, _b; return ((_b = (_a = job === null || job === void 0 ? void 0 : job.meta) === null || _a === void 0 ? void 0 : _a.webpack) === null || _b === void 0 ? void 0 : _b.chunks) || []; });
|
|
54
|
+
const chunks = uniqBy(jobChunks.flat(), ({ id }) => id);
|
|
55
|
+
const chunkIds = chunks === null || chunks === void 0 ? void 0 : chunks.map(({ id }) => id);
|
|
56
|
+
return {
|
|
57
|
+
chunks,
|
|
58
|
+
chunkIds,
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export const generateFilters = (chunkIds, multipleJobs) => {
|
|
62
|
+
const allEntriesFilters = {
|
|
63
|
+
[MODULE_FILTERS.CHANGED]: false,
|
|
64
|
+
[MODULE_FILTERS.DUPLICATED]: false,
|
|
65
|
+
...getModuleSourceTypeFilters(true),
|
|
66
|
+
...getModuleChunkFilters(chunkIds, true),
|
|
67
|
+
...getModuleFileTypeFilters(true),
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
defaultFilters: {
|
|
71
|
+
...allEntriesFilters,
|
|
72
|
+
[MODULE_FILTERS.CHANGED]: multipleJobs,
|
|
73
|
+
},
|
|
74
|
+
allEntriesFilters,
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
export const generateFilterFieldsData = (params) => {
|
|
78
|
+
const { filters, chunks, compareMode } = params;
|
|
79
|
+
const result = {
|
|
80
|
+
[MODULE_FILTERS.CHANGED]: {
|
|
81
|
+
label: I18N.CHANGED,
|
|
82
|
+
defaultValue: filters[MODULE_FILTERS.CHANGED],
|
|
83
|
+
disabled: !compareMode,
|
|
84
|
+
},
|
|
85
|
+
[MODULE_FILTERS.DUPLICATED]: {
|
|
86
|
+
label: I18N.DUPLICATE,
|
|
87
|
+
defaultValue: filters[MODULE_FILTERS.DUPLICATED],
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
result[MODULE_SOURCE_TYPE] = {
|
|
91
|
+
label: I18N.SOURCE,
|
|
92
|
+
children: [
|
|
93
|
+
{
|
|
94
|
+
key: MODULE_FILTERS.FIRST_PARTY,
|
|
95
|
+
label: I18N.SOURCE_FIRST_PARTY,
|
|
96
|
+
defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`, true),
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
key: MODULE_FILTERS.THIRD_PARTY,
|
|
100
|
+
label: I18N.SOURCE_THIRD_PARTY,
|
|
101
|
+
defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`, true),
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
if (!isEmpty(chunks)) {
|
|
106
|
+
const chunksFilter = { label: I18N.CHUNK, children: [] };
|
|
107
|
+
const chunksOrderedByName = orderBy(chunks, 'name');
|
|
108
|
+
chunksOrderedByName.forEach((chunk) => {
|
|
109
|
+
var _a;
|
|
110
|
+
chunksFilter.children.push({
|
|
111
|
+
key: chunk.id,
|
|
112
|
+
label: chunk.name,
|
|
113
|
+
defaultValue: (_a = filters[`${MODULE_CHUNK}.${chunk.id}`]) !== null && _a !== void 0 ? _a : true,
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
result[MODULE_CHUNK] = chunksFilter;
|
|
117
|
+
}
|
|
118
|
+
const moduleFileTypeFilter = { label: I18N.FILE_TYPE, children: [] };
|
|
119
|
+
MODULE_SOURCE_FILE_TYPES.forEach((fileType) => {
|
|
120
|
+
moduleFileTypeFilter.children.push({
|
|
121
|
+
key: fileType,
|
|
122
|
+
label: FILE_TYPE_LABELS[fileType],
|
|
123
|
+
defaultValue: get(filters, `${MODULE_FILE_TYPE}.${fileType}`, true),
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
result[MODULE_FILE_TYPE] = moduleFileTypeFilter;
|
|
127
|
+
return result;
|
|
128
|
+
};
|
|
47
129
|
//# sourceMappingURL=bundle-modules.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.
|
|
1
|
+
{"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,14 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import uniqBy from 'lodash/uniqBy';
|
|
4
|
-
import { MODULE_FILTERS, getModuleChunkFilters, getModuleSourceTypeFilters, getModuleFileTypeFilters, } from '@bundle-stats/utils';
|
|
5
2
|
import * as webpack from '@bundle-stats/utils/lib-esm/webpack';
|
|
6
3
|
import { useRowsFilter } from '../../hooks/rows-filter';
|
|
7
4
|
import { useRowsSort } from '../../hooks/rows-sort';
|
|
8
5
|
import { useSearchParams } from '../../hooks/search-params';
|
|
9
|
-
import { BundleModules as
|
|
10
|
-
import { addRowFlags, generateGetRowFilter, getCustomSort } from './bundle-modules.utils';
|
|
6
|
+
import { BundleModules as BaseComponent } from './bundle-modules';
|
|
7
|
+
import { addRowFlags, extractChunkData, generateGetRowFilter, generateFilters, getCustomSort, } from './bundle-modules.utils';
|
|
11
8
|
export const BundleModules = (props) => {
|
|
12
9
|
const { jobs, filters, search, setState, sortBy, direction, ...restProps } = props;
|
|
13
|
-
const { chunks, chunkIds } = useMemo(() =>
|
|
14
|
-
|
|
15
|
-
const bundleChunkIds = bundleChunks === null || bundleChunks === void 0 ? void 0 : bundleChunks.map(({ id }) => id);
|
|
16
|
-
return {
|
|
17
|
-
chunks: bundleChunks,
|
|
18
|
-
chunkIds: bundleChunkIds,
|
|
19
|
-
};
|
|
20
|
-
}, [jobs]);
|
|
21
|
-
const { defaultFilters, allEntriesFilters } = useMemo(() => ({
|
|
22
|
-
defaultFilters: {
|
|
23
|
-
changed: (jobs === null || jobs === void 0 ? void 0 : jobs.length) > 1,
|
|
24
|
-
...getModuleSourceTypeFilters(true),
|
|
25
|
-
...getModuleChunkFilters(chunkIds, true),
|
|
26
|
-
...getModuleFileTypeFilters(true),
|
|
27
|
-
[MODULE_FILTERS.DUPLICATED]: false,
|
|
28
|
-
},
|
|
29
|
-
allEntriesFilters: {
|
|
30
|
-
changed: false,
|
|
31
|
-
...getModuleSourceTypeFilters(true),
|
|
32
|
-
...getModuleChunkFilters(chunkIds, true),
|
|
33
|
-
...getModuleFileTypeFilters(true),
|
|
34
|
-
[MODULE_FILTERS.DUPLICATED]: false,
|
|
35
|
-
},
|
|
36
|
-
}), [jobs]);
|
|
10
|
+
const { chunks, chunkIds } = useMemo(() => extractChunkData(jobs), [jobs]);
|
|
11
|
+
const { defaultFilters, allEntriesFilters } = useMemo(() => generateFilters(chunkIds, jobs.length > 1), [chunkIds, jobs]);
|
|
37
12
|
const searchParams = useSearchParams({
|
|
38
13
|
search,
|
|
39
14
|
filters,
|
|
@@ -43,7 +18,10 @@ export const BundleModules = (props) => {
|
|
|
43
18
|
});
|
|
44
19
|
const { rows, totalRowCount } = useMemo(() => {
|
|
45
20
|
const result = webpack.compareBySection.modules(jobs, [addRowFlags]);
|
|
46
|
-
return {
|
|
21
|
+
return {
|
|
22
|
+
rows: result,
|
|
23
|
+
totalRowCount: result.length,
|
|
24
|
+
};
|
|
47
25
|
}, [jobs]);
|
|
48
26
|
const filteredRows = useRowsFilter({
|
|
49
27
|
rows,
|
|
@@ -60,20 +38,6 @@ export const BundleModules = (props) => {
|
|
|
60
38
|
const hideEntryInfo = useCallback(() => {
|
|
61
39
|
setState({ entryId: '' });
|
|
62
40
|
}, [setState]);
|
|
63
|
-
return (React.createElement(
|
|
64
|
-
};
|
|
65
|
-
BundleModules.propTypes = {
|
|
66
|
-
jobs: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
67
|
-
filters: PropTypes.object,
|
|
68
|
-
search: PropTypes.string,
|
|
69
|
-
sortBy: PropTypes.string,
|
|
70
|
-
direction: PropTypes.string,
|
|
71
|
-
setState: PropTypes.func.isRequired,
|
|
72
|
-
};
|
|
73
|
-
BundleModules.defaultProps = {
|
|
74
|
-
filters: undefined,
|
|
75
|
-
search: undefined,
|
|
76
|
-
sortBy: undefined,
|
|
77
|
-
direction: undefined,
|
|
41
|
+
return (React.createElement(BaseComponent, { jobs: jobs, chunks: chunks, ...restProps, ...searchParams, ...sortParams, allItems: rows, totalRowCount: totalRowCount, hideEntryInfo: hideEntryInfo }));
|
|
78
42
|
};
|
|
79
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,wBAAwB,CAAC;AA8BhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAEnF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3E,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,OAAO,CACnD,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAChD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,MAAM;QACN,OAAO;QACP,cAAc;QACd,iBAAiB;QACjB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,MAA4C;YAClD,aAAa,EAAE,MAAM,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,YAAY,GAAG,aAAa,CAAC;QACjC,IAAI;QACJ,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,YAAY,EAAE,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC;KACjD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,WAAW,CAAC;QAC7B,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,SAAS;QAC3B,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,oBAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,KACV,SAAS,KACT,YAAY,KACZ,UAAU,EACd,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-info.i18n.js","sourceRoot":"","sources":["../../../src/components/entry-info/entry-info.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { FileName } from '../../ui/file-name';
|
|
|
8
8
|
import { Icon } from '../../ui/icon';
|
|
9
9
|
import { Table } from '../../ui/table';
|
|
10
10
|
import { RunInfo } from '../run-info';
|
|
11
|
+
import * as I18N from './entry-info.i18n';
|
|
11
12
|
import css from './entry-info.module.css';
|
|
12
13
|
export const EntryInfoMetaLink = (props) => {
|
|
13
14
|
const { as: BaseComponent = 'a', className = '', ...restProps } = props;
|
|
@@ -18,7 +19,7 @@ const EntryInfoMeta = ({ className = '', label, children, }) => (React.createEle
|
|
|
18
19
|
React.createElement("span", { className: css.metaContent }, children)));
|
|
19
20
|
export const EntryInfo = (props) => {
|
|
20
21
|
var _a, _b, _c;
|
|
21
|
-
const { className = '', itemTitle = null, item, labels, runNameSelector = 'name', runNameLabel =
|
|
22
|
+
const { className = '', itemTitle = null, item, labels, runNameSelector = 'name', runNameLabel = I18N.PATH, children, tags = null, onClose, } = props;
|
|
22
23
|
const baselineRun = item.runs.length > 1 ? (_a = item.runs) === null || _a === void 0 ? void 0 : _a[item.runs.length - 1] : null;
|
|
23
24
|
const metricRunInfo = getMetricRunInfo(METRIC_TYPE_CONFIGS.METRIC_TYPE_FILE_SIZE, (_c = (_b = item.runs) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.value, (baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.value) || 0);
|
|
24
25
|
return (React.createElement(Portal, { className: cx(css.root, className) },
|
|
@@ -28,7 +29,7 @@ export const EntryInfo = (props) => {
|
|
|
28
29
|
React.createElement("h3", { className: css.label },
|
|
29
30
|
React.createElement(FileName, { as: "code", name: itemTitle || item.label, className: css.fileName })),
|
|
30
31
|
React.createElement(RunInfo, { current: metricRunInfo.displayValue, delta: metricRunInfo.displayDeltaPercentage, deltaPercentage: metricRunInfo.displayDelta, deltaType: metricRunInfo.deltaType, baseline: (baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.displayValue) || '0B', size: "large" })),
|
|
31
|
-
React.createElement("button", { type: "button", onClick: onClose, className: css.headerClose },
|
|
32
|
+
React.createElement("button", { type: "button", onClick: onClose, "aria-label": I18N.CLOSE_TITLE, className: css.headerClose },
|
|
32
33
|
React.createElement(Icon, { glyph: Icon.ICONS.CLOSE, size: "large" }))),
|
|
33
34
|
React.createElement(Box, { padding: "medium", as: "main", className: css.contentWrapper },
|
|
34
35
|
React.createElement(Stack, { space: "small", className: css.content },
|
|
@@ -38,7 +39,7 @@ export const EntryInfo = (props) => {
|
|
|
38
39
|
React.createElement(Table.Tr, null,
|
|
39
40
|
React.createElement(Table.Th, { className: cx(css.runsCell, css.runsColJob) }, "\u00A0"),
|
|
40
41
|
React.createElement(Table.Th, { className: cx(css.runsCell, css.runsColName) }, runNameLabel),
|
|
41
|
-
React.createElement(Table.Th, { className: cx(css.runsCell, css.runsColSize) },
|
|
42
|
+
React.createElement(Table.Th, { className: cx(css.runsCell, css.runsColSize) }, I18N.SIZE))),
|
|
42
43
|
React.createElement(Table.TBody, null, item.runs.map((run, index) => {
|
|
43
44
|
const key = `info-${(run === null || run === void 0 ? void 0 : run.name) || index}-${index}`;
|
|
44
45
|
return (React.createElement(Table.Tr, { key: key },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-info.js","sourceRoot":"","sources":["../../../src/components/entry-info/entry-info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAM1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAyD,EAAE,EAAE;IAC7F,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IACxE,OAAO,oBAAC,aAAa,IAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,SAAS,GAAI,CAAC;AAClF,CAAC,CAAC;AAMF,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,GAAG,EAAE,EACd,KAAK,EACL,QAAQ,GACuC,EAAE,EAAE,CAAC,CACpD,2BAAG,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;IACnC,8BAAM,SAAS,EAAE,GAAG,CAAC,SAAS,IAAG,KAAK,CAAQ;IAC9C,8BAAM,SAAS,EAAE,GAAG,CAAC,WAAW,IAAG,QAAQ,CAAQ,CACjD,CACL,CAAC;AAmBF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmD,EAAE,EAAE;;IAC/E,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,IAAI,EAChB,IAAI,EACJ,MAAM,EACN,eAAe,GAAG,MAAM,EACxB,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"entry-info.js","sourceRoot":"","sources":["../../../src/components/entry-info/entry-info.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { Tooltip } from '../../ui/tooltip';
|
|
4
4
|
import css from './job-name.module.css';
|
|
5
|
-
export const JobName = ({ as: Component, title, internalBuildNumber, children, ...restProps }) => (React.createElement(Tooltip, { className: css.root, as: Component, title: title, ...restProps }, children || `Job #${internalBuildNumber}`));
|
|
5
|
+
export const JobName = ({ as: Component = 'span', title, internalBuildNumber, children, ...restProps }) => (React.createElement(Tooltip, { className: css.root, as: Component, title: title, ...restProps }, children || `Job #${internalBuildNumber}`));
|
|
6
6
|
JobName.defaultProps = {
|
|
7
7
|
as: 'span',
|
|
8
8
|
title: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-name.js","sourceRoot":"","sources":["../../../src/components/job-name/job-name.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"job-name.js","sourceRoot":"","sources":["../../../src/components/job-name/job-name.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,EAAE,CAAC,CACJ,oBAAC,OAAO,IAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAM,SAAS,IACrE,QAAQ,IAAI,QAAQ,mBAAmB,EAAE,CAClC,CACX,CAAC;AAEF,OAAO,CAAC,YAAY,GAAG;IACrB,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,EAAE;IACT,mBAAmB,EAAE,IAAI;IACzB,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,OAAO,CAAC,SAAS,GAAG;IAElB,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAG3D,KAAK,EAAE,SAAS,CAAC,MAAM;IAGvB,mBAAmB,EAAE,SAAS,CAAC,MAAM;IAGrC,QAAQ,EAAE,SAAS,CAAC,IAAI;CACzB,CAAC"}
|
|
@@ -31,12 +31,17 @@ export const MetricRunInfo = (props) => {
|
|
|
31
31
|
}
|
|
32
32
|
return null;
|
|
33
33
|
}, [showMetricDescription, metric]);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const deltaProps = useMemo(() => {
|
|
35
|
+
if (!showDelta || metric.skipDelta || !('delta' in metricRunInfo)) {
|
|
36
|
+
return {};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
38
39
|
delta: metricRunInfo.displayDeltaPercentage,
|
|
39
40
|
deltaType: metricRunInfo.deltaType,
|
|
40
|
-
}
|
|
41
|
+
};
|
|
42
|
+
}, [metricRunInfo]);
|
|
43
|
+
return (React.createElement(RunInfo, { title: metric.label, titleHoverCard: titleHoverCard, enhance: true, current: metricRunInfo.displayValue, showBaseline: showBaseline, ...(showBaseline && {
|
|
44
|
+
baseline: metric.formatter(baseline),
|
|
45
|
+
}), ...deltaProps, ...restProps }));
|
|
41
46
|
};
|
|
42
47
|
//# sourceMappingURL=metric-run-info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-run-info.js","sourceRoot":"","sources":["../../../src/components/metric-run-info/metric-run-info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,GAAG,MAAM,8BAA8B,CAAC;AAQ/C,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAmB,EAAE,EAAE;IAEvE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,CACL,oBAAC,KAAK,IAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,GAAG,CAAC,eAAe;QACnD,4BAAI,SAAS,EAAE,GAAG,CAAC,oBAAoB,IAAG,KAAK,CAAM;QACrD,oBAAC,KAAK,IAAC,KAAK,EAAC,UAAU;YACrB,2BAAG,SAAS,EAAE,GAAG,CAAC,0BAA0B,IAAG,WAAW,CAAK;YAC9D,GAAG,IAAI,CACN;gBACE,gCAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY;oBACjE,oBAAC,SAAS,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,UAAU;wBAC7C,8CAAsB;wBACtB,oBAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAC,OAAO,GAAG,CAC5C,CACL,CACL,CACP,CACK,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAaF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAuD,EAAE,EAAE;IACvF,MAAM,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,IAAI,EAChB,qBAAqB,GAAG,IAAI,EAC5B,YAAY,GAAG,IAAI,EACnB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,qBAAqB,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;YAC/D,OAAO,CACL,oBAAC,eAAe,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAI,CAC3F,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,OAAO,IACN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,cAAc,EAAE,cAAc,EAC9B,OAAO,QACP,OAAO,EAAE,aAAa,CAAC,YAAY,EACnC,YAAY,EAAE,YAAY,KACtB,CAAC,YAAY,IAAI;YACnB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;SACrC,CAAC,KACE,
|
|
1
|
+
{"version":3,"file":"metric-run-info.js","sourceRoot":"","sources":["../../../src/components/metric-run-info/metric-run-info.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { MetricsTable as BaseComponent } from './metrics-table';
|
|
3
3
|
export const MetricsTable = (props) => {
|
|
4
4
|
const [showAllItems, setShowAllItems] = useState(false);
|
|
5
|
-
return
|
|
5
|
+
return React.createElement(BaseComponent, { ...props, showAllItems: showAllItems, setShowAllItems: setShowAllItems });
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-table/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/metrics-table/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,oBAAC,aAAa,OAAK,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,GAAI,CAAC;AACpG,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const BASELINE_TITLE = 'Baseline';
|
|
2
|
+
export const CURRENT_TITLE = 'Current';
|
|
3
|
+
export const SORT_VALUE = 'value';
|
|
4
|
+
export const SORT_CHANGE = 'change';
|
|
5
|
+
export const SORT_PERCENTUAL_CHANGE = 'percentual change';
|
|
6
|
+
export const EMPTY_MESSAGE = 'No items found.';
|
|
7
|
+
export const SHOW_ALL = 'Show all';
|
|
8
|
+
export const SHOW_LESS = 'Show less';
|
|
9
|
+
//# sourceMappingURL=metrics-table.i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-table.i18n.js","sourceRoot":"","sources":["../../../src/components/metrics-table/metrics-table.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAC/C,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import cx from 'classnames';
|
|
4
3
|
import isEmpty from 'lodash/isEmpty';
|
|
5
4
|
import sum from 'lodash/sum';
|
|
6
|
-
import {
|
|
5
|
+
import { METRIC_TYPE_CONFIGS, MetricTypes, getMetricRunInfo, } from '@bundle-stats/utils';
|
|
7
6
|
import { Icon } from '../../ui/icon';
|
|
8
7
|
import { Table } from '../../ui/table';
|
|
9
8
|
import { Stack } from '../../layout/stack';
|
|
@@ -11,119 +10,78 @@ import { Metric } from '../metric';
|
|
|
11
10
|
import { Delta } from '../delta';
|
|
12
11
|
import { JobName } from '../job-name';
|
|
13
12
|
import { SortButton } from '../sort-button';
|
|
14
|
-
import
|
|
15
|
-
|
|
13
|
+
import * as I18N from './metrics-table.i18n';
|
|
14
|
+
import css from './metrics-table.module.css';
|
|
15
|
+
const METRIC_TYPE = METRIC_TYPE_CONFIGS[MetricTypes.FileSize];
|
|
16
16
|
const VISIBLE_COUNT = 500;
|
|
17
17
|
const BASELINE_COLUMN_SPAN = 1;
|
|
18
18
|
const CURRENT_COLUMN_SPAN = 3;
|
|
19
|
-
const BASELINE_TITLE = 'Baseline';
|
|
20
|
-
const CURRENT_TITLE = 'Current';
|
|
21
19
|
const getRowsRunTotal = (rows, runIndex) => sum(rows.map((row) => { var _a, _b; return ((_b = (_a = row === null || row === void 0 ? void 0 : row.runs) === null || _a === void 0 ? void 0 : _a[runIndex]) === null || _b === void 0 ? void 0 : _b.value) || 0; }));
|
|
22
|
-
const
|
|
20
|
+
const JobColumn = ({ run, isBaseline }) => {
|
|
23
21
|
const colSpan = isBaseline ? BASELINE_COLUMN_SPAN : CURRENT_COLUMN_SPAN;
|
|
22
|
+
const { label, internalBuildNumber } = run;
|
|
24
23
|
if (!run) {
|
|
25
24
|
return React.createElement(Table.Th, { colSpan: colSpan }, "-");
|
|
26
25
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
React.createElement(JobName, { title: isBaseline ? BASELINE_TITLE : CURRENT_TITLE, internalBuildNumber: internalBuildNumber, className: styles.jobName }, label)));
|
|
26
|
+
return (React.createElement(Table.Th, { className: css.jobCol, colSpan: colSpan },
|
|
27
|
+
React.createElement(JobName, { title: isBaseline ? I18N.BASELINE_TITLE : I18N.CURRENT_TITLE, internalBuildNumber: internalBuildNumber, className: css.jobName }, label)));
|
|
30
28
|
};
|
|
31
|
-
const
|
|
29
|
+
const SumColumn = ({ rows, isBaseline, runIndex, updateSort, sort }) => {
|
|
32
30
|
const currentRunTotal = getRowsRunTotal(rows, runIndex);
|
|
33
|
-
const baselineRunTotal = !isBaseline
|
|
34
|
-
const
|
|
31
|
+
const baselineRunTotal = !isBaseline ? getRowsRunTotal(rows, runIndex + 1) : 0;
|
|
32
|
+
const total = getMetricRunInfo(METRIC_TYPE, currentRunTotal, baselineRunTotal);
|
|
35
33
|
const fieldPath = `runs[${runIndex}]`;
|
|
36
34
|
return (React.createElement(React.Fragment, null,
|
|
37
|
-
React.createElement(Table.Th, { className: cx(
|
|
38
|
-
React.createElement(
|
|
35
|
+
React.createElement(Table.Th, { className: cx(css.value, css.sum) },
|
|
36
|
+
React.createElement(SortButton, { fieldPath: fieldPath, fieldName: "value", label: I18N.SORT_VALUE, updateSort: updateSort, sort: sort },
|
|
37
|
+
React.createElement(Metric, { value: total.displayValue }))),
|
|
39
38
|
!isBaseline && (React.createElement(React.Fragment, null,
|
|
40
|
-
React.createElement(Table.Th, { className: cx(
|
|
41
|
-
React.createElement(
|
|
42
|
-
React.createElement(Table.Th, { className: cx(
|
|
43
|
-
React.createElement(
|
|
39
|
+
React.createElement(Table.Th, { className: cx(css.delta, css.sum) },
|
|
40
|
+
React.createElement(SortButton, { fieldPath: fieldPath, fieldName: "delta", label: I18N.SORT_CHANGE, updateSort: updateSort, sort: sort }, 'delta' in total && (React.createElement(Delta, { displayValue: total.displayDelta, deltaType: total.deltaType })))),
|
|
41
|
+
React.createElement(Table.Th, { className: cx(css.delta, css.deltaPercentage, css.sum) },
|
|
42
|
+
React.createElement(SortButton, { fieldPath: fieldPath, fieldName: "deltaPercentage", label: I18N.SORT_PERCENTUAL_CHANGE, updateSort: updateSort, sort: sort }, 'delta' in total && (React.createElement(Delta, { displayValue: total.displayDeltaPercentage, deltaType: total.deltaType }))))))));
|
|
44
43
|
};
|
|
45
|
-
const Row = ({ item,
|
|
46
|
-
React.createElement(Table.Th, { className:
|
|
44
|
+
const Row = ({ className = '', item, renderHeader, ...restProps }) => (React.createElement(Table.Tr, { className: cx(!item.changed && css.unchanged, className), ...restProps },
|
|
45
|
+
React.createElement(Table.Th, { className: css.metricName }, renderHeader(item)),
|
|
47
46
|
item.runs.map((run, index) => {
|
|
48
47
|
const isBaseline = index === item.runs.length - 1;
|
|
49
|
-
const valueClassName = cx(
|
|
48
|
+
const valueClassName = cx(css.value, !isBaseline && css.current);
|
|
50
49
|
if (!run || typeof run.value === 'undefined') {
|
|
51
50
|
return (React.createElement(React.Fragment, null,
|
|
52
51
|
React.createElement(Table.Td, { className: valueClassName }, "-"),
|
|
53
|
-
!isBaseline && React.createElement(Table.Td, { className:
|
|
54
|
-
!isBaseline && React.createElement(Table.Td, { className: cx(
|
|
52
|
+
!isBaseline && React.createElement(Table.Td, { className: css.delta }),
|
|
53
|
+
!isBaseline && React.createElement(Table.Td, { className: cx(css.delta, css.deltaPercentage) })));
|
|
55
54
|
}
|
|
56
|
-
const { displayValue, deltaPercentage, displayDelta, displayDeltaPercentage, deltaType } = run;
|
|
57
55
|
return (React.createElement(React.Fragment, null,
|
|
58
56
|
React.createElement(Table.Td, { className: valueClassName },
|
|
59
|
-
React.createElement(Metric, { value: displayValue })),
|
|
60
|
-
!isBaseline &&
|
|
61
|
-
React.createElement(Table.Td, { className:
|
|
62
|
-
|
|
63
|
-
React.createElement(Table.Td, { className: cx(styles.delta, styles.deltaPercentage) },
|
|
64
|
-
React.createElement(Delta, { displayValue: displayDeltaPercentage, deltaType: deltaType }))))));
|
|
57
|
+
React.createElement(Metric, { value: run.displayValue })),
|
|
58
|
+
!isBaseline && (React.createElement(React.Fragment, null,
|
|
59
|
+
React.createElement(Table.Td, { className: css.delta }, 'delta' in run && (React.createElement(Delta, { displayValue: run.displayDelta, deltaType: run.deltaType }))),
|
|
60
|
+
React.createElement(Table.Td, { className: cx(css.delta, css.deltaPercentage) }, 'delta' in run && (React.createElement(Delta, { displayValue: run.displayDeltaPercentage, deltaType: run.deltaType })))))));
|
|
65
61
|
})));
|
|
66
|
-
|
|
67
|
-
item: PropTypes.shape({
|
|
68
|
-
changed: PropTypes.bool,
|
|
69
|
-
runs: PropTypes.arrayOf(PropTypes.shape({
|
|
70
|
-
value: PropTypes.number,
|
|
71
|
-
displayValue: PropTypes.string,
|
|
72
|
-
deltaPercentage: PropTypes.number,
|
|
73
|
-
displayDeltaPercentage: PropTypes.string,
|
|
74
|
-
deltaType: PropTypes.string,
|
|
75
|
-
})),
|
|
76
|
-
}).isRequired,
|
|
77
|
-
renderRowHeader: PropTypes.func.isRequired,
|
|
78
|
-
};
|
|
79
|
-
export const MetricsTable = ({ className, renderRowHeader, runs, items, emptyMessage, showHeaderSum, title, showAllItems, setShowAllItems, sort, updateSort, ...restProps }) => {
|
|
62
|
+
export const MetricsTable = ({ className = '', runs, items, showHeaderSum = false, title = '', sort, updateSort, renderRowHeader = (item) => item.label, emptyMessage = I18N.EMPTY_MESSAGE, showAllItems, setShowAllItems, ...restProps }) => {
|
|
80
63
|
const columnCount = (runs.length - 1) * CURRENT_COLUMN_SPAN + BASELINE_COLUMN_SPAN + 1;
|
|
81
|
-
const rootClassName = cx(
|
|
64
|
+
const rootClassName = cx(css.root, className, runs.length > 1 && css.multipleRuns, showHeaderSum && css.showHeaderSum);
|
|
82
65
|
const showEmpty = isEmpty(items);
|
|
83
66
|
const showItems = !showEmpty;
|
|
84
67
|
const hasHiddenItems = (items === null || items === void 0 ? void 0 : items.length) > VISIBLE_COUNT;
|
|
85
68
|
const visibleItems = !hasHiddenItems || showAllItems ? items : items === null || items === void 0 ? void 0 : items.slice(0, VISIBLE_COUNT);
|
|
86
69
|
return (React.createElement(Table, { className: rootClassName, compact: true, ...restProps },
|
|
87
70
|
React.createElement(Table.THead, null,
|
|
88
|
-
React.createElement(Table.Tr, { className:
|
|
89
|
-
React.createElement(Table.Th, { className:
|
|
90
|
-
runs.map((run, runIndex) => (React.createElement(
|
|
91
|
-
showHeaderSum && (React.createElement(Table.Tr, { className:
|
|
71
|
+
React.createElement(Table.Tr, { className: css.headerRow },
|
|
72
|
+
React.createElement(Table.Th, { className: css.metricName, rowSpan: showHeaderSum ? 2 : 1 }, title || ' '),
|
|
73
|
+
runs.map((run, runIndex) => (React.createElement(JobColumn, { run: run, isBaseline: runIndex === runs.length - 1 })))),
|
|
74
|
+
showHeaderSum && (React.createElement(Table.Tr, { className: css.headerRow }, runs.map((_, runIndex) => (React.createElement(SumColumn, { rows: items, isBaseline: runIndex === runs.length - 1, runIndex: runIndex, updateSort: updateSort, sort: sort })))))),
|
|
92
75
|
React.createElement(Table.TBody, null,
|
|
93
76
|
showEmpty && (React.createElement(Table.Tr, null,
|
|
94
|
-
React.createElement(Table.Td, { className:
|
|
77
|
+
React.createElement(Table.Td, { className: css.empty, colSpan: columnCount },
|
|
95
78
|
React.createElement(Stack, { space: "xxsmall" },
|
|
96
79
|
React.createElement("div", null,
|
|
97
|
-
React.createElement(Icon, { glyph: Icon.ICONS.INFO, className:
|
|
80
|
+
React.createElement(Icon, { glyph: Icon.ICONS.INFO, className: css.emptyIcon, size: "large" })),
|
|
98
81
|
emptyMessage)))),
|
|
99
82
|
showItems && (React.createElement(React.Fragment, null,
|
|
100
|
-
visibleItems.map((item) => (React.createElement(Row, { key: item.key, item: item,
|
|
83
|
+
visibleItems.map((item) => (React.createElement(Row, { key: item.key, item: item, renderHeader: renderRowHeader }))),
|
|
101
84
|
hasHiddenItems && (React.createElement(Table.Tr, null,
|
|
102
|
-
React.createElement(Table.Td, { className:
|
|
103
|
-
};
|
|
104
|
-
MetricsTable.defaultProps = {
|
|
105
|
-
className: '',
|
|
106
|
-
renderRowHeader: (item) => item.label,
|
|
107
|
-
emptyMessage: 'No entries found.',
|
|
108
|
-
showHeaderSum: false,
|
|
109
|
-
title: '',
|
|
110
|
-
};
|
|
111
|
-
MetricsTable.propTypes = {
|
|
112
|
-
className: PropTypes.string,
|
|
113
|
-
renderRowHeader: PropTypes.func,
|
|
114
|
-
runs: PropTypes.arrayOf(PropTypes.shape({
|
|
115
|
-
internalBuildNumber: PropTypes.number,
|
|
116
|
-
})).isRequired,
|
|
117
|
-
items: PropTypes.arrayOf(PropTypes.shape({
|
|
118
|
-
key: PropTypes.string,
|
|
119
|
-
label: PropTypes.string,
|
|
120
|
-
runs: PropTypes.arrayOf(PropTypes.shape({
|
|
121
|
-
displayValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
122
|
-
displayDelta: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
123
|
-
})),
|
|
124
|
-
})).isRequired,
|
|
125
|
-
emptyMessage: PropTypes.element,
|
|
126
|
-
showHeaderSum: PropTypes.bool,
|
|
127
|
-
title: PropTypes.element,
|
|
85
|
+
React.createElement(Table.Td, { className: css.showAllItems, colSpan: columnCount }, showAllItems ? (React.createElement("button", { onClick: () => setShowAllItems(false), type: "button", className: css.showAllItemsButton }, I18N.SHOW_LESS)) : (React.createElement("button", { onClick: () => setShowAllItems(true), type: "button", className: css.showAllItemsButton }, I18N.SHOW_ALL))))))))));
|
|
128
86
|
};
|
|
129
87
|
//# sourceMappingURL=metrics-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-table.js","sourceRoot":"","sources":["../../../src/components/metrics-table/metrics-table.
|
|
1
|
+
{"version":3,"file":"metrics-table.js","sourceRoot":"","sources":["../../../src/components/metrics-table/metrics-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
width: 55%;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.root .
|
|
18
|
+
.root .jobCol {
|
|
19
19
|
text-align: right;
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/* columns overrides for showHeaderSum */
|
|
49
|
-
.showHeaderSum .headerRow .
|
|
49
|
+
.showHeaderSum .headerRow .jobCol {
|
|
50
50
|
border-bottom: 0;
|
|
51
51
|
padding-bottom: 0;
|
|
52
52
|
}
|