Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add tips when use space err after creating #73

Merged
merged 1 commit into from
Dec 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/assets/config/locale/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@
"schema": {
"spaceList": "Graph Space List",
"backToSpaceList": "Graph Space List",
"useSpaceErrTip": "Space not found. Trying to use a newly created graph space may fail because the creation is implemented asynchronously. To make sure the follow-up operations work as expected, Wait for two heartbeat cycles, i.e., 20 seconds.",
"partitionNumDescription": "partition_num specifies the number of partitions in one replica. The default value is 100. It is usually 5 times the number of hard disks in the cluster.",
"replicaFactorDescription": "replica_factor specifies the number of replicas in the cluster. The default replica factor is 1. The suggested number is 3 in cluster. It is usually 3 in production. Due to the majority voting principle, it must set to be odd.",
"charsetDescription": "charset is short for character set. A character set is a set of symbols and encodings. The default value is utf8.",
Expand Down
1 change: 1 addition & 0 deletions app/assets/config/locale/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@
"schema": {
"spaceList": "图空间列表",
"backToSpaceList": "图空间列表",
"useSpaceErrTip": "图空间未找到。立刻尝试使用刚创建的图空间可能会失败,因为创建是异步实现的。为确保数据同步,后续操作能顺利进行,请等待 2 个心跳周期(20 秒)。",
"partitionNumDescription": "partition_num 表示数据分片数量。默认值为 100。建议为硬盘数量的 5 倍。",
"replicaFactorDescription": "replica_factor 表示副本数量。默认值是 1,生产集群建议为 3。由于采用多数表决原理,因此需为奇数。",
"charsetDescription": "charset 表示字符集,定义了字符以及字符的编码,默认为 utf8。",
Expand Down
42 changes: 24 additions & 18 deletions app/assets/modules/Schema/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,8 @@ const mapState = (state: IRootState) => ({
const mapDispatch = (dispatch: IDispatch) => ({
asyncGetSpacesList: dispatch.nebula.asyncGetSpacesList,
asyncDeleteSpace: dispatch.nebula.asyncDeleteSpace,
asyncSwitchSpace: async space => {
await dispatch.nebula.asyncSwitchSpace(space);
await dispatch.explore.clear();
},
asyncSwitchSpace: dispatch.nebula.asyncSwitchSpace,
asyncClearExplore: dispatch.explore.clear,
clearCurrentSpace: () =>
dispatch.nebula.update({
currentSpace: '',
Expand Down Expand Up @@ -60,6 +58,16 @@ class Schema extends React.Component<IProps> {
}
};

handleSwitchSpace = async (space: string) => {
const { asyncSwitchSpace, history, asyncClearExplore } = this.props;
const err = await asyncSwitchSpace(space);
if (!err) {
await asyncClearExplore();
history.push(`/space/${space}/tag/list`);
} else if (err && err.toLowerCase().includes('spacenotfound')) {
message.warning(intl.get('schema.useSpaceErrTip'));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User always receives this warning even when he just switch the space normally?

}
};
render() {
const { loading, spaceList, asyncSwitchSpace } = this.props;
const columns = [
Expand All @@ -73,15 +81,15 @@ class Schema extends React.Component<IProps> {
dataIndex: 'Name',
align: 'center' as const,
render: value => (
<Link
to={`/space/${value}/tag/list`}
onClick={() => asyncSwitchSpace(value)}
<Button
type="link"
onClick={() => this.handleSwitchSpace(value)}
data-track-category="navigation"
data-track-action="view_space_list"
data-track-label="from_space_list"
>
{value}
</Link>
</Button>
),
},
{
Expand Down Expand Up @@ -163,16 +171,14 @@ class Schema extends React.Component<IProps> {
return (
<div className="operation">
<div>
<Button shape="circle">
<Link
to={`/space/${space.Name}/tag/list`}
onClick={() => asyncSwitchSpace(space.Name)}
data-track-category="navigation"
data-track-action="view_space_list"
data-track-label="from_space_list"
>
<Icon type="tool" theme="twoTone" />
</Link>
<Button
shape="circle"
onClick={() => asyncSwitchSpace(space.Name)}
data-track-category="navigation"
data-track-action="view_space_list"
data-track-label="from_space_list"
>
<Icon type="tool" theme="twoTone" />
</Button>
<Popconfirm
onConfirm={() => this.handleDeleteSpace(space.Name)}
Expand Down
4 changes: 3 additions & 1 deletion app/assets/store/models/nebula.ts
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ export const nebula = createModel({
},

async asyncSwitchSpace(space: string) {
const { code } = (await service.execNGQL({
const { code, message } = (await service.execNGQL({
// HACK: Processing keyword
gql: 'use' + '`' + space + '`;',
})) as any;
Expand All @@ -329,6 +329,8 @@ export const nebula = createModel({
spaceVidType,
});
sessionStorage.setItem('currentSpace', space);
} else {
return message;
}
},

Expand Down