diff --git a/web/src/common.less b/web/src/common.less new file mode 100644 index 00000000..47e44b31 --- /dev/null +++ b/web/src/common.less @@ -0,0 +1,3 @@ +.maxColumnWidth { + max-width: 200px; +} \ No newline at end of file diff --git a/web/src/components/AutoTextEllipsis/index.js b/web/src/components/AutoTextEllipsis/index.js index 63f240a5..c5a4b2d8 100644 --- a/web/src/components/AutoTextEllipsis/index.js +++ b/web/src/components/AutoTextEllipsis/index.js @@ -20,16 +20,22 @@ export default (props) => { }); }); - if (textRef.current && showTooltip) { + if (textRef.current) { resizeObserver.observe(textRef.current); } return () => { - if (textRef.current && showTooltip) { + if (textRef.current) { resizeObserver.unobserve(textRef.current); } }; - }, [showTooltip]); + }, []); + + const ellipsisDom = ( +
+ {children} +
+ ) return (
e.stopPropagation()}> @@ -37,12 +43,12 @@ export default (props) => { {children}
{ - showTooltip && textHeight > height ? ( - -
- {children} -
-
+ textHeight > height ? ( + showTooltip ? ( + + {ellipsisDom} + + ) : ellipsisDom ) : (
{children} diff --git a/web/src/pages/Agent/Instance/components/RowDetail.jsx b/web/src/pages/Agent/Instance/components/RowDetail.jsx index 56846b25..13606ed7 100644 --- a/web/src/pages/Agent/Instance/components/RowDetail.jsx +++ b/web/src/pages/Agent/Instance/components/RowDetail.jsx @@ -25,6 +25,8 @@ import Logs from "@/pages/Platform/Overview/Node/Detail/Logs"; import IconText from "@/components/infini/IconText"; import { SearchEngineIcon } from "@/lib/search_engines"; import { hasAuthority } from "@/utils/authority"; +import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { TabPane } = Tabs; @@ -190,6 +192,8 @@ export const AgentRowDetail = ({ agentID, t }) => { { title: "Home", dataIndex: "node_info.settings.path.home", + render: (text) => {text}, + className: commonStyles.maxColumnWidth }, { title: "Status", diff --git a/web/src/pages/Agent/Instance/index.jsx b/web/src/pages/Agent/Instance/index.jsx index e166126f..5c603c7d 100644 --- a/web/src/pages/Agent/Instance/index.jsx +++ b/web/src/pages/Agent/Instance/index.jsx @@ -474,7 +474,7 @@ const AgentList = (props) => { columns={columns} onChange={handleTableChange} expandedRowRender={expandedRowRender} - scroll={{x: 1100 }} + scroll={{x: 'max-content' }} /> ), sorter: (a, b) => sorter.string(a, b, "index"), + className: commonStyles.maxColumnWidth }, { title: formatMessage({ id: "indices.field.health" }), diff --git a/web/src/pages/Gateway/Queue/Consumer.jsx b/web/src/pages/Gateway/Queue/Consumer.jsx index 00312927..1e78389a 100644 --- a/web/src/pages/Gateway/Queue/Consumer.jsx +++ b/web/src/pages/Gateway/Queue/Consumer.jsx @@ -18,6 +18,8 @@ import ReestOffsetModal from "./ResetOffsetModal"; import { encodeProxyPath } from "@/lib/util"; import { filterSearchValue, sorter } from "@/utils/utils"; import { hasAuthority } from "@/utils/authority"; +import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -42,7 +44,12 @@ export default (props) => { }; const columns = [ - { title: "Group", dataIndex: "group" }, + { + title: "Group", + dataIndex: "group", + render: (text) => {text}, + className: commonStyles.maxColumnWidth + }, { title: "LastActive", dataIndex: "last_active", diff --git a/web/src/pages/Gateway/Queue/Persistent.jsx b/web/src/pages/Gateway/Queue/Persistent.jsx index 757466b9..51f40de4 100644 --- a/web/src/pages/Gateway/Queue/Persistent.jsx +++ b/web/src/pages/Gateway/Queue/Persistent.jsx @@ -23,6 +23,8 @@ import { hasAuthority } from "@/utils/authority"; import IconText from "@/components/infini/IconText"; import Consumer from "./Consumer"; import QueueTypeIcon from "./QueueTypeIcon"; +import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -107,7 +109,12 @@ export default (props) => { text={ +
{`ID: ${row?.metadata?.id}`}
+
{`Name: ${name}`}
+ + )} > { @@ -117,7 +124,7 @@ export default (props) => { ); }} > - {name} + {name}
} @@ -126,6 +133,7 @@ export default (props) => { ), sorter: (a, b) => sorter.string(a, b, "name"), + className: commonStyles.maxColumnWidth }, { title: "Local Storage", @@ -422,6 +430,7 @@ export default (props) => { ? "offset-normal" : ""; }} + scroll={{ x: 'max-content' }} />
); diff --git a/web/src/pages/Platform/Overview/Cluster/Monitor/indices.jsx b/web/src/pages/Platform/Overview/Cluster/Monitor/indices.jsx index 8908d11c..649cbb20 100644 --- a/web/src/pages/Platform/Overview/Cluster/Monitor/indices.jsx +++ b/web/src/pages/Platform/Overview/Cluster/Monitor/indices.jsx @@ -11,6 +11,7 @@ import { filterSearchValue, sorter, formatUtcTimeToLocal } from "@/utils/utils"; import { formatTimeRange } from "@/lib/elasticsearch/util"; import IconText from "@/components/infini/IconText"; import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -114,6 +115,7 @@ const Indices = ({ /> ), sorter: (a, b) => sorter.string(a, b, "index"), + className: commonStyles.maxColumnWidth }, { title: "Health", @@ -272,6 +274,7 @@ const Indices = ({ dispatch({ type: "pageSizeChange", value: size }); }, }} + scroll={{x: 'max-content' }} /> ); diff --git a/web/src/pages/Platform/Overview/Cluster/Monitor/nodes.jsx b/web/src/pages/Platform/Overview/Cluster/Monitor/nodes.jsx index 672b8e71..0a43ab6d 100644 --- a/web/src/pages/Platform/Overview/Cluster/Monitor/nodes.jsx +++ b/web/src/pages/Platform/Overview/Cluster/Monitor/nodes.jsx @@ -13,6 +13,7 @@ import { formatTimeRange } from "@/lib/elasticsearch/util"; import moment from "moment"; import IconText from "@/components/infini/IconText"; import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; const InputGroup = Input.Group; @@ -128,7 +129,7 @@ export default ({ ), sorter: (a, b) => sorter.string(a, b, "name"), - className: "verticalAlign", + className: `verticalAlign ${commonStyles.maxColumnWidth}`, }, ]; if (showRealtime) { @@ -325,6 +326,7 @@ export default ({ dispatch({ type: "pageSizeChange", value: size }); }, }} + scroll={{x: 'max-content' }} /> ); diff --git a/web/src/pages/Platform/Overview/Indices/Monitor/shards.jsx b/web/src/pages/Platform/Overview/Indices/Monitor/shards.jsx index d6801cd8..d37bf3cf 100644 --- a/web/src/pages/Platform/Overview/Indices/Monitor/shards.jsx +++ b/web/src/pages/Platform/Overview/Indices/Monitor/shards.jsx @@ -11,6 +11,7 @@ import { filterSearchValue, sorter, formatUtcTimeToLocal } from "@/utils/utils"; import { formatTimeRange } from "@/lib/elasticsearch/util"; import IconText from "@/components/infini/IconText"; import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -155,6 +156,7 @@ export default ({ ); }, sorter: (a, b) => sorter.string(a, b, "node"), + className: commonStyles.maxColumnWidth }, { title: "State", @@ -255,6 +257,7 @@ export default ({ dispatch({ type: "pageSizeChange", value: size }); }, }} + scroll={{x: 'max-content' }} /> ); diff --git a/web/src/pages/Platform/Overview/Node/Monitor/shards.jsx b/web/src/pages/Platform/Overview/Node/Monitor/shards.jsx index f2a0f704..a71354d0 100644 --- a/web/src/pages/Platform/Overview/Node/Monitor/shards.jsx +++ b/web/src/pages/Platform/Overview/Node/Monitor/shards.jsx @@ -11,6 +11,7 @@ import { filterSearchValue, sorter, formatUtcTimeToLocal } from "@/utils/utils"; import { formatTimeRange } from "@/lib/elasticsearch/util"; import IconText from "@/components/infini/IconText"; import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -105,6 +106,7 @@ export default ({ clusterID, clusterName, nodeID, timeRange, bucketSize }) => { ); }, sorter: (a, b) => sorter.string(a, b, "index"), + className: commonStyles.maxColumnWidth }, { title: "Shard", @@ -257,6 +259,7 @@ export default ({ clusterID, clusterName, nodeID, timeRange, bucketSize }) => { dispatch({ type: "pageSizeChange", value: size }); }, }} + scroll={{x: 'max-content' }} /> ); diff --git a/web/src/pages/System/Credential/Index.js b/web/src/pages/System/Credential/Index.js index e7c636c7..1ceb4f51 100644 --- a/web/src/pages/System/Credential/Index.js +++ b/web/src/pages/System/Credential/Index.js @@ -18,6 +18,8 @@ import { formatESSearchResult } from "@/lib/elasticsearch/util"; import useFetch from "@/lib/hooks/use_fetch"; import CredentialForm from "./CredentialForm"; import { hasAuthority } from "@/utils/authority"; +import AutoTextEllipsis from "@/components/AutoTextEllipsis"; +import commonStyles from "@/common.less" const { Search } = Input; @@ -182,6 +184,8 @@ export default () => { }), dataIndex: "name", key: "name", + render: (text) => {text}, + className: commonStyles.maxColumnWidth }, { title: formatMessage({