skyline/src/components/TableButton/RuleButton.jsx
Jingwei.Zhang 6d2ea1bf34 refactor: Refactor path jump
Refactor path jump by routeName which is defined in menu as key

Change-Id: I82cda19a2b92b29498238b85c75181848e51e072
2021-11-11 09:59:51 +08:00

45 lines
1.4 KiB
JavaScript

// Copyright 2021 99cloud
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import React, { Component } from 'react';
import TableButton from 'components/TableButton';
import { getSelfColumns } from 'resources/security-group-rule';
import { getPath } from 'utils/route-map';
export default class RuleButton extends Component {
getUrl(path, adminStr) {
return this.isAdminPage ? `${path}${adminStr || '-admin'}` : path;
}
getDetailUrl(id) {
const key = this.isAdminPage
? 'securityGroupDetailAdmin'
: 'securityGroupDetail';
return getPath({ key, params: { id } });
}
render() {
const { item: { security_group_rules: data = [] } = {} } = this.props;
const configs = {
buttonType: 'link',
title: t('Security Group Rules'),
buttonText: t('View Rules'),
modalSize: 'middle',
columns: getSelfColumns(this),
data,
};
return <TableButton {...configs} style={{ paddingLeft: 0 }} />;
}
}