@cloudtower/eagle 0.27.70 → 0.27.71
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/dist/cjs/UIKitProvider/index.js +5 -5
- package/dist/cjs/antd.js +151 -0
- package/dist/cjs/core/Arch/index.js +3 -1
- package/dist/cjs/core/ButtonGroup/index.js +2 -1
- package/dist/cjs/core/Cascader/index.js +16 -0
- package/dist/cjs/core/DonutChart/index.js +9 -0
- package/dist/cjs/core/Error/index.js +12 -0
- package/dist/cjs/core/ErrorBoundary/index.js +27 -0
- package/dist/cjs/core/Metric/MetricActions.js +18 -0
- package/dist/cjs/core/Metric/MetricLegend.js +73 -0
- package/dist/cjs/core/Metric/Pointer.js +45 -0
- package/dist/cjs/core/Metric/RenderChart.js +203 -0
- package/dist/cjs/core/Metric/TooltipFormatter.js +45 -0
- package/dist/cjs/core/Metric/index.js +63 -0
- package/dist/cjs/core/Metric/metric.js +146 -0
- package/dist/cjs/core/Metric/styled.js +33 -0
- package/dist/cjs/core/Metric/type.js +16 -0
- package/dist/cjs/core/Overflow/index.js +2 -1
- package/dist/cjs/core/Progress/index.js +2 -0
- package/dist/cjs/core/SidebarMenu/SidebarMenu.js +33 -0
- package/dist/cjs/core/StatusCapsule/index.js +7 -7
- package/dist/cjs/core/Styled/index.js +139 -0
- package/dist/cjs/core/Table/TableWidget.js +6 -1
- package/dist/cjs/core/Table/index.js +4 -1
- package/dist/cjs/core/TableForm/index.js +5 -3
- package/dist/cjs/core/Tag/SplitTag.js +2 -2
- package/dist/cjs/core/Tag/const.js +2 -2
- package/dist/cjs/core/Tag/index.js +4 -4
- package/dist/cjs/core/Token/index.js +3 -3
- package/dist/cjs/core/index.js +32 -0
- package/dist/cjs/core/message/index.js +4 -0
- package/dist/cjs/coreX/CronPlan/index.js +2 -1
- package/dist/cjs/coreX/DateRangePicker/AbsoluteDate.js +2 -2
- package/dist/cjs/coreX/DateRangePicker/Calendar.js +5 -3
- package/dist/cjs/coreX/DateRangePicker/InputTime.js +1 -1
- package/dist/cjs/coreX/DateRangePicker/RelativeTime.js +2 -2
- package/dist/cjs/coreX/DateRangePicker/index.js +1 -1
- package/dist/cjs/coreX/I18nNameTag/index.js +1 -1
- package/dist/cjs/index.js +456 -82
- package/dist/cjs/legacy-antd.js +213 -0
- package/dist/cjs/stats1.html +1 -1
- package/dist/cjs/store/chart.js +7 -0
- package/dist/cjs/store/index.js +1 -0
- package/dist/components.css +2916 -2916
- package/dist/esm/UIKitProvider/index.js +1 -1
- package/dist/esm/antd.js +16 -0
- package/dist/esm/core/ButtonGroup/index.js +2 -1
- package/dist/esm/core/Cascader/index.js +3 -1
- package/dist/esm/core/DonutChart/index.js +9 -1
- package/dist/esm/core/Error/index.js +6 -0
- package/dist/esm/core/ErrorBoundary/index.js +21 -0
- package/dist/esm/core/Metric/MetricActions.js +12 -0
- package/dist/esm/core/Metric/MetricLegend.js +62 -0
- package/dist/esm/core/Metric/Pointer.js +38 -0
- package/dist/esm/core/Metric/RenderChart.js +195 -0
- package/dist/esm/core/Metric/TooltipFormatter.js +39 -0
- package/dist/esm/core/Metric/index.js +52 -0
- package/dist/esm/core/Metric/metric.js +138 -2
- package/dist/esm/core/Metric/styled.js +24 -0
- package/dist/esm/core/Metric/type.js +13 -0
- package/dist/esm/core/Overflow/index.js +2 -1
- package/dist/esm/core/Progress/index.js +2 -1
- package/dist/esm/core/SidebarMenu/SidebarMenu.js +27 -0
- package/dist/esm/core/StatusCapsule/index.js +3 -3
- package/dist/esm/core/Styled/index.js +112 -1
- package/dist/esm/core/Table/TableWidget.js +5 -2
- package/dist/esm/core/Table/index.js +5 -3
- package/dist/esm/core/TableForm/index.js +2 -2
- package/dist/esm/core/Tag/SplitTag.js +3 -3
- package/dist/esm/core/Tag/const.js +2 -2
- package/dist/esm/core/Tag/index.js +5 -5
- package/dist/esm/core/Token/index.js +3 -3
- package/dist/esm/core/index.js +21 -0
- package/dist/esm/core/message/index.js +4 -1
- package/dist/esm/coreX/CronPlan/index.js +2 -1
- package/dist/esm/coreX/DateRangePicker/AbsoluteDate.js +2 -2
- package/dist/esm/coreX/DateRangePicker/Calendar.js +5 -3
- package/dist/esm/coreX/DateRangePicker/InputTime.js +1 -1
- package/dist/esm/coreX/DateRangePicker/RelativeTime.js +2 -2
- package/dist/esm/coreX/DateRangePicker/index.js +1 -1
- package/dist/esm/coreX/I18nNameTag/index.js +1 -1
- package/dist/esm/index.js +104 -18
- package/dist/esm/legacy-antd.js +206 -0
- package/dist/esm/stats1.html +1 -1
- package/dist/esm/store/chart.js +7 -1
- package/dist/esm/store/index.js +1 -0
- package/dist/src/UIKitProvider/UIKitProvider.stories.d.ts +1 -1
- package/dist/src/antd.d.ts +45 -0
- package/dist/src/core/AccordionCard/accordionCard.type.d.ts +9 -0
- package/dist/src/core/AccordionCard/index.d.ts +3 -8
- package/dist/src/core/Alert/alert.type.d.ts +6 -0
- package/dist/src/core/Alert/index.d.ts +2 -1
- package/dist/src/core/Arch/arch.type.d.ts +8 -0
- package/dist/src/core/Arch/index.d.ts +2 -1
- package/dist/src/core/Badge/badge.type.d.ts +7 -0
- package/dist/src/core/Badge/index.d.ts +2 -1
- package/dist/src/core/Bit/index.d.ts +1 -1
- package/dist/src/core/BitPerSecond/index.d.ts +1 -1
- package/dist/src/core/Bps/index.d.ts +1 -1
- package/dist/src/core/Breadcrumb/breadcrumb.type.d.ts +11 -0
- package/dist/src/core/Breadcrumb/index.d.ts +2 -1
- package/dist/src/core/Button/button.type.d.ts +20 -0
- package/dist/src/core/Button/index.d.ts +1 -0
- package/dist/src/core/ButtonGroup/index.d.ts +1 -1
- package/dist/src/core/Byte/index.d.ts +1 -1
- package/dist/src/core/Calendar/calendar.type.d.ts +4 -0
- package/dist/src/core/Calendar/index.d.ts +2 -1
- package/dist/src/core/Cascader/cascader.type.d.ts +1 -1
- package/dist/src/core/Cascader/index.d.ts +3 -0
- package/dist/src/core/DetailCard/detailCard.type.d.ts +4 -0
- package/dist/src/core/DetailCard/index.d.ts +2 -1
- package/dist/src/core/DropdownMenu/dropdownMenu.type.d.ts +28 -0
- package/dist/src/core/DropdownMenu/index.d.ts +3 -17
- package/dist/src/core/Error/index.d.ts +5 -0
- package/dist/src/core/ExpandableList/index.d.ts +8 -0
- package/dist/src/core/Fields/FieldsBoolean/index.d.ts +1 -1
- package/dist/src/core/Fields/FieldsDateTime/index.d.ts +1 -1
- package/dist/src/core/Fields/FieldsDateTimeRange/index.d.ts +1 -1
- package/dist/src/core/Fields/FieldsEnum/fieldsEnum.type.d.ts +19 -0
- package/dist/src/core/Fields/FieldsEnum/index.d.ts +2 -1
- package/dist/src/core/Fields/FieldsInt/fieldsInt.type.d.ts +15 -0
- package/dist/src/core/Fields/FieldsInt/index.d.ts +2 -1
- package/dist/src/core/Fields/FieldsString/fieldsString.type.d.ts +17 -0
- package/dist/src/core/Fields/FieldsString/index.d.ts +3 -1
- package/dist/src/core/Fields/FieldsTextArea/index.d.ts +1 -1
- package/dist/src/core/Fields/FieldsTimePicker/index.d.ts +1 -1
- package/dist/src/{spec/react-final-form.d.ts → core/Fields/fields.type.d.ts} +15 -10
- package/dist/src/core/Fields/index.d.ts +21 -10
- package/dist/src/core/Frequency/index.d.ts +1 -1
- package/dist/src/core/Input/index.d.ts +1 -0
- package/dist/src/core/Input/input.type.d.ts +14 -0
- package/dist/src/core/InputGroup/index.d.ts +1 -0
- package/dist/src/core/InputGroup/inputGroup.type.d.ts +4 -0
- package/dist/src/core/InputInteger/index.d.ts +1 -1
- package/dist/src/core/InputNumber/index.d.ts +1 -1
- package/dist/src/core/Link/index.d.ts +2 -1
- package/dist/src/core/Link/link.type.d.ts +6 -0
- package/dist/src/core/Loading/index.d.ts +2 -1
- package/dist/src/core/Loading/loading.type.d.ts +4 -0
- package/dist/src/core/Modal/index.d.ts +2 -1
- package/dist/src/core/Modal/modal.type.d.ts +28 -0
- package/dist/src/core/Pagination/index.d.ts +2 -1
- package/dist/src/core/Pagination/pagination.type.d.ts +11 -0
- package/dist/src/core/Percent/index.d.ts +1 -1
- package/dist/src/core/Progress/index.d.ts +2 -0
- package/dist/src/core/Progress/progress.type.d.ts +2 -1
- package/dist/src/core/Radio/index.d.ts +2 -1
- package/dist/src/core/Radio/radio.type.d.ts +16 -0
- package/dist/src/core/SearchInput/index.d.ts +2 -1
- package/dist/src/core/SearchInput/searchInput.type.d.ts +7 -0
- package/dist/src/core/Second/index.d.ts +1 -1
- package/dist/src/core/SegmentControl/index.d.ts +2 -1
- package/dist/src/core/SegmentControl/segmentControl.type.d.ts +4 -0
- package/dist/src/core/Select/index.d.ts +2 -1
- package/dist/src/core/Select/select.type.d.ts +32 -0
- package/dist/src/core/SimplePagination/index.d.ts +2 -1
- package/dist/src/core/SimplePagination/simplePagination.type.d.ts +7 -0
- package/dist/src/core/Space/index.d.ts +1 -0
- package/dist/src/core/Space/space.type.d.ts +10 -0
- package/dist/src/core/Speed/index.d.ts +1 -1
- package/dist/src/core/StatusCapsule/index.d.ts +3 -2
- package/dist/src/core/StatusCapsule/statusCapsule.type.d.ts +10 -0
- package/dist/src/core/StepProgress/index.d.ts +2 -1
- package/dist/src/core/StepProgress/stepProgress.type.d.ts +5 -0
- package/dist/src/core/Steps/index.d.ts +2 -1
- package/dist/src/core/Steps/steps.type.d.ts +19 -0
- package/dist/src/core/Switch/index.d.ts +2 -1
- package/dist/src/core/Switch/switch.type.d.ts +4 -0
- package/dist/src/core/Table/index.d.ts +2 -1
- package/dist/src/core/Table/table.type.d.ts +73 -0
- package/dist/src/core/TableForm/Columns/index.d.ts +10 -10
- package/dist/src/core/TableForm/index.d.ts +1 -0
- package/dist/src/core/TableForm/types.d.ts +1 -1
- package/dist/src/core/Tag/SplitTag.d.ts +1 -1
- package/dist/src/core/Tag/const.d.ts +1 -1
- package/dist/src/core/Tag/index.d.ts +3 -2
- package/dist/src/core/Tag/tag.type.d.ts +22 -0
- package/dist/src/core/TextArea/index.d.ts +2 -1
- package/dist/src/core/TextArea/textArea.type.d.ts +10 -0
- package/dist/src/core/Time/index.d.ts +2 -1
- package/dist/src/core/Time/time.type.d.ts +7 -0
- package/dist/src/core/TimeZoneSelect/index.d.ts +2 -1
- package/dist/src/core/TimeZoneSelect/timeZoneSelect.type.d.ts +9 -0
- package/dist/src/core/Token/index.d.ts +4 -3
- package/dist/src/core/Token/token.type.d.ts +12 -0
- package/dist/src/core/Tooltip/index.d.ts +1 -0
- package/dist/src/core/Units/index.d.ts +1 -0
- package/dist/src/core/Units/units.type.d.ts +17 -0
- package/dist/src/core/index.d.ts +140 -22
- package/dist/src/coreX/BatchOperation/batchOperation.type.d.ts +31 -0
- package/dist/src/coreX/BatchOperation/index.d.ts +2 -1
- package/dist/src/coreX/Counting/counting.type.d.ts +6 -0
- package/dist/src/coreX/Counting/index.d.ts +2 -1
- package/dist/src/coreX/CronCalendar/cronCalendar.type.d.ts +8 -0
- package/dist/src/coreX/CronCalendar/index.d.ts +2 -1
- package/dist/src/coreX/CronPlan/cronPlan.type.d.ts +13 -0
- package/dist/src/coreX/CronPlan/index.d.ts +2 -1
- package/dist/src/coreX/DateRangePicker/AbsoluteDate.d.ts +1 -1
- package/dist/src/coreX/DateRangePicker/Calendar.d.ts +1 -1
- package/dist/src/coreX/DateRangePicker/InputTime.d.ts +1 -1
- package/dist/src/coreX/DateRangePicker/RelativeTime.d.ts +1 -1
- package/dist/src/coreX/DateRangePicker/common.d.ts +2 -60
- package/dist/src/coreX/DateRangePicker/dateRangePicker.type.d.ts +64 -0
- package/dist/src/coreX/DateRangePicker/index.d.ts +4 -3
- package/dist/src/coreX/DropdownTransition/dropdownTransition.type.d.ts +4 -0
- package/dist/src/coreX/DropdownTransition/index.d.ts +1 -0
- package/dist/src/coreX/GoBackButton/goBackButton.type.d.ts +18 -0
- package/dist/src/coreX/GoBackButton/index.d.ts +2 -1
- package/dist/src/coreX/I18nNameTag/i18nNameTag.type.d.ts +14 -0
- package/dist/src/coreX/I18nNameTag/index.d.ts +2 -1
- package/dist/src/coreX/NamesTooltip/index.d.ts +2 -1
- package/dist/src/coreX/NamesTooltip/namesTooltip.type.d.ts +6 -0
- package/dist/src/coreX/OverflowTooltip/index.d.ts +1 -0
- package/dist/src/coreX/SidebarSubtitle/index.d.ts +2 -1
- package/dist/src/coreX/SidebarSubtitle/sidebarSubtitle.type.d.ts +5 -0
- package/dist/src/coreX/SortableList/index.d.ts +2 -1
- package/dist/src/coreX/SortableList/sortableList.type.d.ts +7 -0
- package/dist/src/coreX/SummaryTable/index.d.ts +2 -1
- package/dist/src/coreX/SummaryTable/summaryTable.type.d.ts +31 -0
- package/dist/src/coreX/SwitchWithText/index.d.ts +2 -1
- package/dist/src/coreX/SwitchWithText/switchWithText.type.d.ts +9 -0
- package/dist/src/coreX/TruncatedTextWithTooltip/index.d.ts +2 -1
- package/dist/src/coreX/TruncatedTextWithTooltip/truncatedTextWithTooltip.type.d.ts +5 -0
- package/dist/src/coreX/UnitWithChart/index.d.ts +8 -8
- package/dist/src/coreX/common/index.d.ts +1 -0
- package/dist/src/coreX/index.d.ts +38 -4
- package/dist/src/index.d.ts +5 -40
- package/dist/src/{core/antd.d.ts → legacy-antd.d.ts} +1 -1
- package/dist/src/spec/base.d.ts +7 -456
- package/dist/src/spec/index.d.ts +0 -1
- package/dist/stories/docs/core/Alert.stories.d.ts +1 -1
- package/dist/stories/docs/core/Arch.stories.d.ts +1 -1
- package/dist/stories/docs/core/Bit.stories.d.ts +6 -6
- package/dist/stories/docs/core/BitPerSecond.stories.d.ts +6 -6
- package/dist/stories/docs/core/Bps.stories.d.ts +6 -6
- package/dist/stories/docs/core/Byte.stories.d.ts +6 -6
- package/dist/stories/docs/core/FieldsBoolean.stories.d.ts +2 -2
- package/dist/stories/docs/core/FieldsString.stories.d.ts +8 -8
- package/dist/stories/docs/core/FieldsTimePicker.stories.d.ts +2 -2
- package/dist/stories/docs/core/Frequency.stories.d.ts +6 -6
- package/dist/stories/docs/core/Icon.stories.d.ts +6 -6
- package/dist/stories/docs/core/Link.stories.d.ts +1 -1
- package/dist/stories/docs/core/Modal.stories.d.ts +1 -1
- package/dist/stories/docs/core/Percent.stories.d.ts +10 -10
- package/dist/stories/docs/core/Second.stories.d.ts +8 -8
- package/dist/stories/docs/core/Speed.stories.d.ts +6 -6
- package/dist/stories/docs/core/StatusCapsule.stories.d.ts +1 -1
- package/dist/stories/docs/core/Steps.stories.d.ts +1 -1
- package/dist/stories/docs/core/Table.stories.d.ts +4 -4
- package/dist/stories/docs/core/Tag.stories.d.ts +1 -1
- package/dist/stories/docs/core/Token.stories.d.ts +1 -1
- package/dist/stories/docs/core/Tooltip.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/CronCalendar.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/CronPlan.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/GoBackButton.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/NamesTooltip.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/SidebarSubtitle.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/SortableList.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/SummaryTable.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/SwitchWithText.stories.d.ts +1 -1
- package/dist/stories/docs/coreX/TruncatedTextWithTooltip.stories.d.ts +1 -1
- package/dist/stories/types.d.ts +1 -1
- package/dist/style.css +2921 -2921
- package/package.json +5 -5
- package/dist/cjs/core/antd.js +0 -212
- package/dist/esm/core/antd.js +0 -205
- package/dist/src/spec/type.d.ts +0 -157
- /package/dist/cjs/{spec/type.js → core/Arch/arch.type.js} +0 -0
- /package/dist/esm/{spec/type.js → core/Arch/arch.type.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parrotI18n } from '@cloudtower/parrot';
|
|
2
|
-
import { antdKit } from '../core/antd.js';
|
|
3
2
|
import _message from '../core/message/index.js';
|
|
3
|
+
import { antdKit } from '../legacy-antd.js';
|
|
4
4
|
import { ConfigProvider } from 'antd';
|
|
5
5
|
import enUS from 'antd/lib/locale/en_US';
|
|
6
6
|
import zhCN from 'antd/lib/locale/zh_CN';
|
package/dist/esm/antd.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DatePicker, List, Menu, Skeleton, Tabs, Timeline, Typography, Upload, Select, Modal } from 'antd';
|
|
2
|
+
export { Badge as AntdBadge, Button as AntdButton, Checkbox as AntdCheckbox, Collapse as AntdCollapse, Divider as AntdDivider, Drawer as AntdDrawer, Empty as AntdEmpty, Input as AntdInput, message as AntdMessage, Select as AntdSelect, Steps as AntdSteps, Switch as AntdSwitch, Table as AntdTable, TimePicker as AntdTimePicker, Tooltip as AntdTooltip, TreeSelect as AntdTreeSelect, AutoComplete, Col, DatePicker, Dropdown, Layout, List, Menu, Popover, Row, Skeleton, Tabs, Timeline, Tree, Typography, Upload } from 'antd';
|
|
3
|
+
|
|
4
|
+
const DatePickerRangePicker = DatePicker.RangePicker;
|
|
5
|
+
const ListItem = List.Item;
|
|
6
|
+
const MenuItemGroup = Menu.ItemGroup;
|
|
7
|
+
const SkeletonButton = Skeleton.Button;
|
|
8
|
+
const TabsTabPane = Tabs.TabPane;
|
|
9
|
+
const TimelineItem = Timeline.Item;
|
|
10
|
+
const TypographyText = Typography.Text;
|
|
11
|
+
const UploadDragger = Upload.Dragger;
|
|
12
|
+
const AntdOption = Select.Option;
|
|
13
|
+
const AntdSelectOptGroup = Select.OptGroup;
|
|
14
|
+
const AntdModal = Modal;
|
|
15
|
+
|
|
16
|
+
export { AntdModal, AntdOption, AntdSelectOptGroup, DatePickerRangePicker, ListItem, MenuItemGroup, SkeletonButton, TabsTabPane, TimelineItem, TypographyText, UploadDragger };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { HierarchyTriangleRight16PrimaryIcon } from '@cloudtower/icons-react';
|
|
2
2
|
import { CascaderLargeDropdown, CascaderSmallDropdown, CascaderDropdown, CascaderInputStyle } from './cascader.style.js';
|
|
3
|
+
export { CascaderDefaultHeader, CascaderDefaultHeaderContainer, CascaderDefaultHeaderSearch, CascaderDefaultOptionLabel, CascaderNotData, DoubleRowOptionStyleWrapper } from './cascader.style.js';
|
|
3
4
|
import { PresetCascaderRender, NotDataContent, defaultTagRender } from './cascader.widget.js';
|
|
5
|
+
export { CascaderDoubleRowOption, CascaderOptionWithCount, PresetCascaderHeader } from './cascader.widget.js';
|
|
4
6
|
import Icon from '../Icon/index.js';
|
|
5
7
|
import { Antd5PrefixCls } from '../../utils/constants.js';
|
|
6
8
|
import { Cascader as Cascader$1 } from 'antd5';
|
|
@@ -69,4 +71,4 @@ const Cascader = (props) => {
|
|
|
69
71
|
);
|
|
70
72
|
};
|
|
71
73
|
|
|
72
|
-
export { Cascader };
|
|
74
|
+
export { Cascader, CascaderDropdown, CascaderInputStyle, CascaderLargeDropdown, CascaderSmallDropdown, NotDataContent, PresetCascaderRender, defaultTagRender };
|
|
@@ -8,6 +8,14 @@ import { Typo } from '../Typo/index.js';
|
|
|
8
8
|
import OverflowTooltip from '../../coreX/OverflowTooltip/index.js';
|
|
9
9
|
import { Color } from '../../styles/token/color.js';
|
|
10
10
|
|
|
11
|
+
var DonutChartColor = /* @__PURE__ */(DonutChartColor2 => {
|
|
12
|
+
DonutChartColor2["RED"] = "red";
|
|
13
|
+
DonutChartColor2["GREEN"] = "green";
|
|
14
|
+
DonutChartColor2["YeLLOW"] = "yellow";
|
|
15
|
+
DonutChartColor2["BLUE"] = "blue";
|
|
16
|
+
DonutChartColor2["PURPLE"] = "purple";
|
|
17
|
+
return DonutChartColor2;
|
|
18
|
+
})(DonutChartColor || {});
|
|
11
19
|
const DonutChartWrapper = /*#__PURE__*/styled('div')({
|
|
12
20
|
name: "DonutChartWrapper",
|
|
13
21
|
class: "E_d1bw7c5z",
|
|
@@ -158,4 +166,4 @@ const DonutChart = ({
|
|
|
158
166
|
};
|
|
159
167
|
var DonutChart$1 = DonutChart;
|
|
160
168
|
|
|
161
|
-
export { DonutChart$1 as default, formatChartData, formatCollapse };
|
|
169
|
+
export { DonutChartColor, DonutChart$1 as default, formatChartData, formatCollapse };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { withTranslation } from 'react-i18next';
|
|
3
|
+
|
|
4
|
+
class ErrorBoundary extends React__default.Component {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
super(props);
|
|
7
|
+
this.state = { error: null };
|
|
8
|
+
}
|
|
9
|
+
static getDerivedStateFromError(error) {
|
|
10
|
+
return { error };
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
if (this.state.error) {
|
|
14
|
+
return /* @__PURE__ */ React__default.createElement("div", { title: String(this.state.error) }, this.props.t("components.unknow_error"));
|
|
15
|
+
}
|
|
16
|
+
return this.props.children;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
var ErrorBoundary$1 = withTranslation()(ErrorBoundary);
|
|
20
|
+
|
|
21
|
+
export { ErrorBoundary$1 as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import useParrotTranslation from '../../hooks/useParrotTranslation.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
const MetricActions = (props) => {
|
|
5
|
+
const { info, dropdown } = props;
|
|
6
|
+
const { current, max } = info;
|
|
7
|
+
const { t } = useParrotTranslation();
|
|
8
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: "metric-extra" }, /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("span", { className: "info-item" }, t("metric.max"), "\uFF1A", max), /* @__PURE__ */ React__default.createElement("span", { className: "info-item" }, t("metric.current"), "\uFF1A", current)), dropdown);
|
|
9
|
+
};
|
|
10
|
+
var MetricActions$1 = MetricActions;
|
|
11
|
+
|
|
12
|
+
export { MetricActions$1 as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DoubleRightOutlined } from '@ant-design/icons';
|
|
2
|
+
import { ColorBlockStyle, LegendStyle, ExtraResource, LegendItemStyle } from './styled.js';
|
|
3
|
+
import { ExtraOverflow } from '../Overflow/index.js';
|
|
4
|
+
import Truncate from '../Truncate/index.js';
|
|
5
|
+
import { Dropdown, Menu } from 'antd';
|
|
6
|
+
import cs from 'classnames';
|
|
7
|
+
import React__default from 'react';
|
|
8
|
+
|
|
9
|
+
const ColorBlock = ({ background }) => /* @__PURE__ */ React__default.createElement("div", { className: cs(ColorBlockStyle, "color-block"), style: { background } });
|
|
10
|
+
const MetricLegend = (props) => {
|
|
11
|
+
const { deselected, onClick, legends } = props;
|
|
12
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
13
|
+
ExtraOverflow,
|
|
14
|
+
{
|
|
15
|
+
className: LegendStyle,
|
|
16
|
+
extraEl: (end) => /* @__PURE__ */ React__default.createElement(
|
|
17
|
+
Dropdown,
|
|
18
|
+
{
|
|
19
|
+
overlayClassName: ExtraResource,
|
|
20
|
+
overlay: /* @__PURE__ */ React__default.createElement(Menu, null, legends.slice(end).map((legend, idx) => {
|
|
21
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
22
|
+
Menu.Item,
|
|
23
|
+
{
|
|
24
|
+
className: cs(
|
|
25
|
+
LegendItemStyle,
|
|
26
|
+
deselected.includes(legend.id) && "deselected"
|
|
27
|
+
),
|
|
28
|
+
key: legend.id,
|
|
29
|
+
onClick: () => onClick(legend.id)
|
|
30
|
+
},
|
|
31
|
+
/* @__PURE__ */ React__default.createElement(ColorBlock, { background: legend.color }),
|
|
32
|
+
/* @__PURE__ */ React__default.createElement("span", null, legend.name)
|
|
33
|
+
);
|
|
34
|
+
}))
|
|
35
|
+
},
|
|
36
|
+
/* @__PURE__ */ React__default.createElement(DoubleRightOutlined, { rotate: 90 })
|
|
37
|
+
),
|
|
38
|
+
els: legends.map((legend) => {
|
|
39
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
className: cs(
|
|
43
|
+
LegendItemStyle,
|
|
44
|
+
deselected.includes(legend.id) && "deselected"
|
|
45
|
+
),
|
|
46
|
+
key: legend.id,
|
|
47
|
+
onClick: () => onClick(legend.id)
|
|
48
|
+
},
|
|
49
|
+
/* @__PURE__ */ React__default.createElement(ColorBlock, { background: legend.color }),
|
|
50
|
+
/* @__PURE__ */ React__default.createElement("span", null, /* @__PURE__ */ React__default.createElement(Truncate, { text: legend.name, len: 50, backLen: 20 }))
|
|
51
|
+
);
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
const LegendComponent = (props) => {
|
|
57
|
+
const { name, color } = props;
|
|
58
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: cs(LegendItemStyle, "legend-component") }, /* @__PURE__ */ React__default.createElement(ColorBlock, { background: color }), /* @__PURE__ */ React__default.createElement("span", null, name));
|
|
59
|
+
};
|
|
60
|
+
var MetricLegend$1 = MetricLegend;
|
|
61
|
+
|
|
62
|
+
export { ColorBlock, LegendComponent, MetricLegend$1 as default };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useKitSelector } from '../KitStoreProvider/index.js';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
const Pointer = ({ uuid = "", metricWidth }) => {
|
|
6
|
+
const pointers = useKitSelector(
|
|
7
|
+
(state) => _.get(state, "chart.pointers")
|
|
8
|
+
);
|
|
9
|
+
if (!(pointers == null ? void 0 : pointers[uuid])) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const { left = 0, text } = pointers[uuid];
|
|
13
|
+
let dis = -99999999;
|
|
14
|
+
const threshold = 50;
|
|
15
|
+
if (metricWidth) {
|
|
16
|
+
if (left <= threshold) {
|
|
17
|
+
dis = threshold;
|
|
18
|
+
} else if (left >= metricWidth - threshold) {
|
|
19
|
+
dis = metricWidth - threshold;
|
|
20
|
+
} else {
|
|
21
|
+
dis = left;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
style: {
|
|
28
|
+
transform: `translate(${dis}px)`,
|
|
29
|
+
position: "absolute",
|
|
30
|
+
whiteSpace: "nowrap"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
/* @__PURE__ */ React__default.createElement("div", { className: "pointer-wrapper" }, text)
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
var Pointer$1 = Pointer;
|
|
37
|
+
|
|
38
|
+
export { Pointer$1 as default };
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { useKitDispatch } from '../KitStoreProvider/index.js';
|
|
2
|
+
import { convertDataStruct } from './metric.js';
|
|
3
|
+
import MetricActions from './MetricActions.js';
|
|
4
|
+
import MetricLegend from './MetricLegend.js';
|
|
5
|
+
import { MetricLegendTabStyle } from './styled.js';
|
|
6
|
+
import TooltipFormatter from './TooltipFormatter.js';
|
|
7
|
+
import { GraphType } from './type.js';
|
|
8
|
+
import useParrotTranslation from '../../hooks/useParrotTranslation.js';
|
|
9
|
+
import cs from 'classnames';
|
|
10
|
+
import dayjs from 'dayjs';
|
|
11
|
+
import React__default, { useState, useMemo, useCallback } from 'react';
|
|
12
|
+
import { ResponsiveContainer, AreaChart, XAxis, YAxis, Tooltip, Area } from 'recharts';
|
|
13
|
+
import { ChartActions } from '../../store/chart.js';
|
|
14
|
+
|
|
15
|
+
var __defProp = Object.defineProperty;
|
|
16
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
17
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
18
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
19
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
20
|
+
var __spreadValues = (a, b) => {
|
|
21
|
+
for (var prop in b || (b = {}))
|
|
22
|
+
if (__hasOwnProp.call(b, prop))
|
|
23
|
+
__defNormalProp(a, prop, b[prop]);
|
|
24
|
+
if (__getOwnPropSymbols)
|
|
25
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
26
|
+
if (__propIsEnum.call(b, prop))
|
|
27
|
+
__defNormalProp(a, prop, b[prop]);
|
|
28
|
+
}
|
|
29
|
+
return a;
|
|
30
|
+
};
|
|
31
|
+
const RenderChart = (props) => {
|
|
32
|
+
const {
|
|
33
|
+
metricName,
|
|
34
|
+
showLegend,
|
|
35
|
+
syncId,
|
|
36
|
+
showXAxis,
|
|
37
|
+
yAxisAlign,
|
|
38
|
+
height,
|
|
39
|
+
type,
|
|
40
|
+
mode = "legend",
|
|
41
|
+
dropdown,
|
|
42
|
+
onLabelsChange,
|
|
43
|
+
metric,
|
|
44
|
+
yAxisProps,
|
|
45
|
+
xAxisProps,
|
|
46
|
+
actionsProps,
|
|
47
|
+
tooltipProps
|
|
48
|
+
} = props;
|
|
49
|
+
const { t } = useParrotTranslation();
|
|
50
|
+
const dispatch = useKitDispatch();
|
|
51
|
+
const [deselected, setDeselected] = useState([]);
|
|
52
|
+
const streams = useMemo(() => metric.sample_streams, [metric]);
|
|
53
|
+
const legends = useMemo(() => {
|
|
54
|
+
return metric.sample_streams.map((stream) => stream.legend);
|
|
55
|
+
}, [metric.sample_streams]);
|
|
56
|
+
const areaChartData = useMemo(
|
|
57
|
+
() => convertDataStruct(streams.map((stream) => stream.points)),
|
|
58
|
+
[streams]
|
|
59
|
+
);
|
|
60
|
+
const onLegendClick = useCallback(
|
|
61
|
+
(id) => {
|
|
62
|
+
setDeselected((prev) => {
|
|
63
|
+
const include = prev.includes(id);
|
|
64
|
+
const newDeselected = include ? prev.filter((r) => r !== id) : [...prev, id];
|
|
65
|
+
onLabelsChange == null ? void 0 : onLabelsChange(newDeselected);
|
|
66
|
+
return newDeselected.length >= streams.length ? prev : newDeselected;
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
[onLabelsChange, streams]
|
|
70
|
+
);
|
|
71
|
+
const hidePointer = useCallback(() => {
|
|
72
|
+
dispatch({
|
|
73
|
+
type: ChartActions.SET_POINTER,
|
|
74
|
+
payload: { visible: false, uuid: syncId }
|
|
75
|
+
});
|
|
76
|
+
}, [dispatch, syncId]);
|
|
77
|
+
const handleMouseMove = useCallback(
|
|
78
|
+
(e) => {
|
|
79
|
+
var _a;
|
|
80
|
+
if (e.isTooltipActive) {
|
|
81
|
+
const { chartX, activePayload } = e;
|
|
82
|
+
if (!((_a = activePayload == null ? void 0 : activePayload[0]) == null ? void 0 : _a.payload)) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
dispatch({
|
|
86
|
+
type: ChartActions.SET_POINTER,
|
|
87
|
+
payload: {
|
|
88
|
+
uuid: syncId,
|
|
89
|
+
visible: true,
|
|
90
|
+
left: chartX,
|
|
91
|
+
text: dayjs(Number(activePayload[0].payload.t)).format(
|
|
92
|
+
"MM-DD HH:mm:ss"
|
|
93
|
+
),
|
|
94
|
+
value: activePayload[0].payload.v
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
[dispatch, syncId]
|
|
100
|
+
);
|
|
101
|
+
if (!(streams == null ? void 0 : streams.length) || streams.every((stream) => {
|
|
102
|
+
var _a;
|
|
103
|
+
return !((_a = stream.points) == null ? void 0 : _a.length);
|
|
104
|
+
})) {
|
|
105
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: MetricLegendTabStyle }, /* @__PURE__ */ React__default.createElement("div", { className: "name-toolbar" }, /* @__PURE__ */ React__default.createElement(
|
|
106
|
+
MetricLegend,
|
|
107
|
+
{
|
|
108
|
+
streams,
|
|
109
|
+
metricName,
|
|
110
|
+
deselected,
|
|
111
|
+
onClick: onLegendClick,
|
|
112
|
+
legends
|
|
113
|
+
}
|
|
114
|
+
)), /* @__PURE__ */ React__default.createElement("div", { className: cs("content", mode === "single" && "single-content") }, t("metric.empty")));
|
|
115
|
+
}
|
|
116
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", { className: "metric-toolbar" }, showLegend && /* @__PURE__ */ React__default.createElement(
|
|
117
|
+
MetricLegend,
|
|
118
|
+
{
|
|
119
|
+
streams,
|
|
120
|
+
metricName,
|
|
121
|
+
deselected,
|
|
122
|
+
onClick: onLegendClick,
|
|
123
|
+
legends
|
|
124
|
+
}
|
|
125
|
+
), (actionsProps == null ? void 0 : actionsProps.show) && /* @__PURE__ */ React__default.createElement(MetricActions, __spreadValues({ dropdown }, actionsProps))), /* @__PURE__ */ React__default.createElement(ResponsiveContainer, { height }, /* @__PURE__ */ React__default.createElement(
|
|
126
|
+
AreaChart,
|
|
127
|
+
{
|
|
128
|
+
style: { backgroundColor: "white" },
|
|
129
|
+
margin: showLegend ? { top: 10, left: 10, right: 10, bottom: 0 } : { top: 20, left: 10, right: 10, bottom: 5 },
|
|
130
|
+
data: areaChartData,
|
|
131
|
+
syncId,
|
|
132
|
+
onMouseLeave: hidePointer,
|
|
133
|
+
onMouseMove: handleMouseMove
|
|
134
|
+
},
|
|
135
|
+
/* @__PURE__ */ React__default.createElement(
|
|
136
|
+
XAxis,
|
|
137
|
+
__spreadValues({
|
|
138
|
+
hide: !showXAxis,
|
|
139
|
+
dataKey: "t",
|
|
140
|
+
axisLine: false,
|
|
141
|
+
tickLine: false,
|
|
142
|
+
type: "number"
|
|
143
|
+
}, xAxisProps)
|
|
144
|
+
),
|
|
145
|
+
/* @__PURE__ */ React__default.createElement(
|
|
146
|
+
YAxis,
|
|
147
|
+
__spreadValues({
|
|
148
|
+
width: 200,
|
|
149
|
+
mirror: true,
|
|
150
|
+
allowDataOverflow: true,
|
|
151
|
+
axisLine: false,
|
|
152
|
+
tickLine: false,
|
|
153
|
+
orientation: yAxisAlign
|
|
154
|
+
}, yAxisProps)
|
|
155
|
+
),
|
|
156
|
+
/* @__PURE__ */ React__default.createElement(
|
|
157
|
+
Tooltip,
|
|
158
|
+
__spreadValues({
|
|
159
|
+
content: tooltipProps.format && /* @__PURE__ */ React__default.createElement(
|
|
160
|
+
TooltipFormatter,
|
|
161
|
+
{
|
|
162
|
+
deselected,
|
|
163
|
+
legends,
|
|
164
|
+
format: tooltipProps.format
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
}, tooltipProps)
|
|
168
|
+
),
|
|
169
|
+
streams.map((item, index) => {
|
|
170
|
+
if (deselected.includes(item.legend.id)) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
174
|
+
Area,
|
|
175
|
+
{
|
|
176
|
+
key: index,
|
|
177
|
+
dataKey: `v${index}`,
|
|
178
|
+
stackId: type === GraphType.Stack ? "stack" : void 0,
|
|
179
|
+
stroke: item.legend.stroke ? `${item.legend.color}1A` : item.legend.color,
|
|
180
|
+
fill: item.legend.fill,
|
|
181
|
+
isAnimationActive: false,
|
|
182
|
+
activeDot: {
|
|
183
|
+
stroke: item.legend.color,
|
|
184
|
+
r: 4,
|
|
185
|
+
strokeWidth: 2,
|
|
186
|
+
fill: "white"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
})
|
|
191
|
+
)));
|
|
192
|
+
};
|
|
193
|
+
var RenderChart$1 = RenderChart;
|
|
194
|
+
|
|
195
|
+
export { RenderChart$1 as default };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ColorBlock } from './MetricLegend.js';
|
|
2
|
+
import { TooltipWrapper, TooltipColumn } from './styled.js';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defProps = Object.defineProperties;
|
|
7
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
8
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
const TooltipFormatter = (props) => {
|
|
25
|
+
const { active, payload, deselected, legends, format } = props;
|
|
26
|
+
if (!active || !(payload == null ? void 0 : payload.length)) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return /* @__PURE__ */ React__default.createElement(TooltipWrapper, null, payload.map((item, index) => {
|
|
30
|
+
return __spreadProps(__spreadValues({}, item), {
|
|
31
|
+
legend: legends[index]
|
|
32
|
+
});
|
|
33
|
+
}).sort((a, b) => b.value - a.value).map((item) => {
|
|
34
|
+
return deselected.includes(item.legend.id) ? null : /* @__PURE__ */ React__default.createElement(TooltipColumn, { key: item.legend.id }, /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(ColorBlock, { background: item.legend.color }), item.legend.name), /* @__PURE__ */ React__default.createElement("div", { className: "column-value" }, format(item)));
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
var TooltipFormatter$1 = TooltipFormatter;
|
|
38
|
+
|
|
39
|
+
export { TooltipFormatter$1 as default };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { parrotI18n } from '@cloudtower/parrot';
|
|
2
|
+
import ErrorBoundary from '../ErrorBoundary/index.js';
|
|
3
|
+
import Pointer from './Pointer.js';
|
|
4
|
+
import RenderChart from './RenderChart.js';
|
|
5
|
+
import { MetricWrapper } from './styled.js';
|
|
6
|
+
import cs from 'classnames';
|
|
7
|
+
import React__default, { useState, useRef, useEffect } from 'react';
|
|
8
|
+
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
13
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
+
var __spreadValues = (a, b) => {
|
|
15
|
+
for (var prop in b || (b = {}))
|
|
16
|
+
if (__hasOwnProp.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
if (__getOwnPropSymbols)
|
|
19
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
+
if (__propIsEnum.call(b, prop))
|
|
21
|
+
__defNormalProp(a, prop, b[prop]);
|
|
22
|
+
}
|
|
23
|
+
return a;
|
|
24
|
+
};
|
|
25
|
+
const Metric = (props) => {
|
|
26
|
+
const {
|
|
27
|
+
height = 154,
|
|
28
|
+
showPointer = true,
|
|
29
|
+
showLegend = true,
|
|
30
|
+
showXaxis = false,
|
|
31
|
+
chartProps
|
|
32
|
+
} = props;
|
|
33
|
+
const [width, setWidth] = useState();
|
|
34
|
+
const wrapperRef = useRef(null);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
setWidth((_a = wrapperRef.current) == null ? void 0 : _a.offsetWidth);
|
|
38
|
+
}, []);
|
|
39
|
+
return /* @__PURE__ */ React__default.createElement(ErrorBoundary, { i18n: parrotI18n }, /* @__PURE__ */ React__default.createElement(
|
|
40
|
+
MetricWrapper,
|
|
41
|
+
{
|
|
42
|
+
className: cs("metric-wrapper", !showXaxis && "hidden-xaxis"),
|
|
43
|
+
ref: wrapperRef,
|
|
44
|
+
style: { height: showLegend ? height + 30 : height }
|
|
45
|
+
},
|
|
46
|
+
/* @__PURE__ */ React__default.createElement(RenderChart, __spreadValues({}, chartProps)),
|
|
47
|
+
showPointer && /* @__PURE__ */ React__default.createElement(Pointer, { uuid: chartProps.syncId, metricWidth: width })
|
|
48
|
+
));
|
|
49
|
+
};
|
|
50
|
+
var Metric$1 = Metric;
|
|
51
|
+
|
|
52
|
+
export { Pointer, RenderChart, Metric$1 as default };
|
|
@@ -1,10 +1,68 @@
|
|
|
1
|
-
import { HOUR, DAY } from '../../utils/tower.js';
|
|
1
|
+
import { MINUTE, HOUR, DAY, SECOND } from '../../utils/tower.js';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
|
+
import _ from 'lodash';
|
|
3
4
|
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defProps = Object.defineProperties;
|
|
7
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
8
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
function filterPointsByDateRange(points, dateRange) {
|
|
37
|
+
const [startDate, endDate] = dateRange;
|
|
38
|
+
return points == null ? void 0 : points.filter((point) => {
|
|
39
|
+
const pointDate = dayjs(point.t);
|
|
40
|
+
if (startDate && pointDate.isBefore(startDate)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (endDate && pointDate.isAfter(endDate)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
const parseRange = (range) => {
|
|
50
|
+
const span = parseInt(range.slice(0, range.length - 1));
|
|
51
|
+
const unit = range.slice(range.length - 1);
|
|
52
|
+
return { span, unit };
|
|
53
|
+
};
|
|
4
54
|
function getRangeTimestamp(dateRange) {
|
|
5
55
|
const [startDate, endDate] = dateRange;
|
|
6
56
|
return endDate.valueOf() - startDate.valueOf();
|
|
7
57
|
}
|
|
58
|
+
const xaxisCal = (lastTime, dateRange) => {
|
|
59
|
+
const tangeTime = getRangeTimestamp(dateRange);
|
|
60
|
+
const tick = tangeTime / 4;
|
|
61
|
+
const msPerMinute = MINUTE * 1e3;
|
|
62
|
+
const lastTimeMinute = dayjs(lastTime).minute();
|
|
63
|
+
const baseline = lastTimeMinute < 30 ? lastTime - lastTimeMinute * msPerMinute : lastTime - lastTimeMinute * msPerMinute + msPerMinute * 30;
|
|
64
|
+
return [baseline - tick * 3, baseline - tick * 2, baseline - tick, baseline];
|
|
65
|
+
};
|
|
8
66
|
const tickFormatter = (tick, dateRange) => {
|
|
9
67
|
const rangeTime = getRangeTimestamp(dateRange);
|
|
10
68
|
if (rangeTime <= 2 * HOUR * 1e3) {
|
|
@@ -15,5 +73,83 @@ const tickFormatter = (tick, dateRange) => {
|
|
|
15
73
|
}
|
|
16
74
|
return dayjs(tick).format("MM/DD");
|
|
17
75
|
};
|
|
76
|
+
function getXAxisDomain(dateRange, xaxisLastTime) {
|
|
77
|
+
const [startDate, endDate] = dateRange;
|
|
78
|
+
return [startDate.valueOf(), xaxisLastTime != null ? xaxisLastTime : endDate.valueOf()];
|
|
79
|
+
}
|
|
80
|
+
const getMs = (dateRange) => {
|
|
81
|
+
const [startDate, endDate] = dateRange;
|
|
82
|
+
return endDate.valueOf() - startDate.valueOf();
|
|
83
|
+
};
|
|
84
|
+
const getStep = (dateRange) => {
|
|
85
|
+
const [startDate, endDate] = dateRange;
|
|
86
|
+
const range = endDate.valueOf() - startDate.valueOf();
|
|
87
|
+
if (range <= 2 * 60 * 60 * 1e3) {
|
|
88
|
+
return SECOND * 30 * 1e3;
|
|
89
|
+
}
|
|
90
|
+
if (range <= 24 * 60 * 60 * 1e3) {
|
|
91
|
+
return MINUTE * 5 * 1e3;
|
|
92
|
+
}
|
|
93
|
+
if (range <= 7 * 24 * 60 * 60 * 1e3) {
|
|
94
|
+
return MINUTE * 30 * 1e3;
|
|
95
|
+
}
|
|
96
|
+
if (range <= 30 * 24 * 60 * 60 * 1e3) {
|
|
97
|
+
return DAY * 1e3;
|
|
98
|
+
}
|
|
99
|
+
return DAY * 1e3;
|
|
100
|
+
};
|
|
101
|
+
const filterDataOverlapping = (data, startTimestamp, length, step, tolerance) => {
|
|
102
|
+
const points = [...new Array(Math.round(length))].map((_2, index) => {
|
|
103
|
+
return startTimestamp + index * step;
|
|
104
|
+
}).map((timestamp) => {
|
|
105
|
+
const closestPoint = _.minBy(
|
|
106
|
+
data.filter((value) => {
|
|
107
|
+
return Math.abs(value.t - timestamp) < tolerance;
|
|
108
|
+
}),
|
|
109
|
+
(value) => {
|
|
110
|
+
return Math.abs(value.t - timestamp);
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
if (closestPoint == null) {
|
|
114
|
+
return {
|
|
115
|
+
t: timestamp,
|
|
116
|
+
v: -Infinity
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return closestPoint;
|
|
120
|
+
});
|
|
121
|
+
return points;
|
|
122
|
+
};
|
|
123
|
+
const convertDataStruct = (streams) => {
|
|
124
|
+
const points = streams.flatMap((points2, index) => {
|
|
125
|
+
return points2.map((point) => {
|
|
126
|
+
return __spreadProps(__spreadValues({}, point), { [`v${index}`]: point.v });
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
const groupedPoints = _.groupBy(points, (point) => {
|
|
130
|
+
return point.t;
|
|
131
|
+
});
|
|
132
|
+
const combinedPoints = Object.entries(groupedPoints).map(([key, values]) => {
|
|
133
|
+
return values.reduce((p, c) => {
|
|
134
|
+
const _a = __spreadValues(__spreadValues({}, p), c), values2 = __objRest(_a, ["v"]);
|
|
135
|
+
return values2;
|
|
136
|
+
}, {});
|
|
137
|
+
});
|
|
138
|
+
return combinedPoints;
|
|
139
|
+
};
|
|
140
|
+
const filterOverlappingMetric = (metric, dateRange) => {
|
|
141
|
+
const range = getMs(dateRange);
|
|
142
|
+
return __spreadProps(__spreadValues({}, metric), {
|
|
143
|
+
sample_streams: metric.sample_streams.map((stream) => __spreadProps(__spreadValues({}, stream), {
|
|
144
|
+
points: filterDataOverlapping(
|
|
145
|
+
stream.points,
|
|
146
|
+
dateRange[0].valueOf(),
|
|
147
|
+
range / stream.step,
|
|
148
|
+
stream.step,
|
|
149
|
+
stream.tolerance
|
|
150
|
+
)
|
|
151
|
+
}))
|
|
152
|
+
});
|
|
153
|
+
};
|
|
18
154
|
|
|
19
|
-
export { tickFormatter };
|
|
155
|
+
export { convertDataStruct, filterDataOverlapping, filterOverlappingMetric, filterPointsByDateRange, getMs, getStep, getXAxisDomain, parseRange, tickFormatter, xaxisCal };
|