in src/routes/Plugin/Discovery/DiscoveryUpstreamTable.js [104:238]
constructor(props) {
super(props);
this.state = {
editingKey: "",
isLocal: this.props.isLocal,
};
this.columns = [
{
title: "protocol",
dataIndex: "protocol",
editable: true,
width: "25%",
align: "center",
},
{
title: "url",
dataIndex: "url",
editable: this.state.isLocal,
width: "35%",
align: "center",
},
{
title: "status",
dataIndex: "status",
editable: true,
width: "19%",
align: "center",
render: (text) => {
return text === 0 || text === "0" ? "open" : "close";
},
},
{
title: "weight",
dataIndex: "weight",
editable: true,
align: "center",
},
{
title: "startupTime",
dataIndex: "startupTime",
editable: this.state.isLocal,
align: "center",
},
{
title: "warmupTime",
dataIndex: "warmupTime",
editable: true,
align: "center",
},
{
title: "gray",
dataIndex: "gray",
editable: true,
align: "center",
render: (text, record) => {
return (
<Switch
disabled={record.status === 1}
checked={record.gray === "true" || record.gray === true}
onChange={(v) => {
record.gray = v;
this.saveGray(record, record.key);
}}
/>
);
},
},
{
title: getIntlContent("SHENYU.DISCOVERY.SELECTOR.UPSTREAM.OPERATION"),
dataIndex: "operation",
width: "18%",
align: "center",
render: (text, record) => {
const { editingKey } = this.state;
const editable = this.isEditing(record);
return (
<span>
{editable ? (
<span>
<EditableContext.Consumer>
{(form) => (
<a
onClick={() => this.save(form, record.key)}
style={{ marginRight: 8 }}
>
{getIntlContent(
"SHENYU.DISCOVERY.SELECTOR.UPSTREAM.SAVE",
)}
</a>
)}
</EditableContext.Consumer>
<Popconfirm
title={getIntlContent(
"SHENYU.DISCOVERY.SELECTOR.UPSTREAM.CANCEL.CONFIRM",
)}
onConfirm={() => this.cancel(record.key)}
okText={getIntlContent("SHENYU.COMMON.SURE")}
cancelText={getIntlContent("SHENYU.COMMON.CALCEL")}
>
<a>
{getIntlContent(
"SHENYU.DISCOVERY.SELECTOR.UPSTREAM.CANCEL",
)}
</a>
</Popconfirm>
</span>
) : (
<span>
<Button
type="link"
disabled={editingKey !== ""}
onClick={() => this.edit(record.key)}
>
{getIntlContent("SHENYU.DISCOVERY.SELECTOR.UPSTREAM.EDIT")}
</Button>{" "}
{this.props.dataSource.length >= 1 && this.state.isLocal ? (
<Popconfirm
title={getIntlContent(
"SHENYU.DISCOVERY.SELECTOR.UPSTREAM.DELETE.CONFIRM",
)}
onConfirm={() => this.handleDelete(record.key)}
okText={getIntlContent("SHENYU.COMMON.SURE")}
cancelText={getIntlContent("SHENYU.COMMON.CALCEL")}
>
<a>{getIntlContent("SHENYU.BUTTON.SYSTEM.DELETE")}</a>
</Popconfirm>
) : null}
</span>
)}
</span>
);
},
},
];
}