mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-27 16:17:34 +00:00
fix lint issue
This commit is contained in:
@@ -7,7 +7,7 @@ import { deleteApplication, getApplications } from '@/services/application';
|
||||
import { PlusOutlined } from '@ant-design/icons';
|
||||
import { PageContainer } from '@ant-design/pro-layout';
|
||||
// @ts-ignore
|
||||
import { Link as ReactLink } from "react-router-dom";
|
||||
import { Link as ReactLink } from 'react-router-dom';
|
||||
|
||||
export default () => {
|
||||
const { currentEnvironment } = useModel('useEnvironmentModel');
|
||||
@@ -45,7 +45,6 @@ export default () => {
|
||||
<Space>
|
||||
<Button type="primary" icon={<PlusOutlined />}>
|
||||
<ReactLink to="/applications/create"> Create</ReactLink>
|
||||
|
||||
</Button>
|
||||
</Space>
|
||||
</div>
|
||||
|
||||
@@ -1,63 +1,61 @@
|
||||
import React, {useState} from 'react';
|
||||
import {Input, Dropdown, Menu, Button, Divider, Row, Col} from 'antd';
|
||||
import {useModel} from "@@/plugin-model/useModel";
|
||||
import {DownOutlined, UserOutlined} from '@ant-design/icons';
|
||||
import React, { useState } from 'react';
|
||||
import { Input, Dropdown, Menu, Button, Divider, Row, Col } from 'antd';
|
||||
import { useModel } from '@@/plugin-model/useModel';
|
||||
import { DownOutlined, UserOutlined } from '@ant-design/icons';
|
||||
import FormRender from 'form-render/lib/antd';
|
||||
import {getCapabilityOpenAPISchema} from "@/services/capability";
|
||||
import { getCapabilityOpenAPISchema } from '@/services/capability';
|
||||
// prevent Ant design style from being overridden
|
||||
import 'antd/dist/antd.css';
|
||||
|
||||
|
||||
export default (): React.ReactNode => {
|
||||
// @ts-ignore
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const {workloadsLoading, workloadList} = useModel('useWorkloadsModel');
|
||||
const { workloadsLoading, workloadList } = useModel('useWorkloadsModel');
|
||||
// @ts-ignore
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const {traitsLoading, traitsList} = useModel('useTraitsModel');
|
||||
const { traitsLoading, traitsList } = useModel('useTraitsModel');
|
||||
|
||||
const workloadMenuList = workloadList?.map((i) =>
|
||||
<Menu.Item key={i.name} icon={<UserOutlined/>} onClick={() => handleMenuClick("workload_type", i.name)}>
|
||||
const workloadMenuList = workloadList?.map((i) => (
|
||||
<Menu.Item
|
||||
key={i.name}
|
||||
icon={<UserOutlined />}
|
||||
onClick={() => handleMenuClick('workload_type', i.name)}
|
||||
>
|
||||
{i.name}
|
||||
</Menu.Item>
|
||||
)
|
||||
));
|
||||
|
||||
const traitMenuList = traitsList?.map((i) =>
|
||||
<Menu.Item key={i.name} icon={<UserOutlined/>} onClick={() => handleMenuClick("trait", i.name)}>
|
||||
const traitMenuList = traitsList?.map((i) => (
|
||||
<Menu.Item
|
||||
key={i.name}
|
||||
icon={<UserOutlined />}
|
||||
onClick={() => handleMenuClick('trait', i.name)}
|
||||
>
|
||||
{i.name}
|
||||
</Menu.Item>
|
||||
)
|
||||
));
|
||||
|
||||
const workloadsMenu = (
|
||||
<Menu>
|
||||
{workloadMenuList}
|
||||
</Menu>
|
||||
);
|
||||
|
||||
const traitsMenu = (
|
||||
<Menu>
|
||||
{traitMenuList}
|
||||
</Menu>
|
||||
);
|
||||
const workloadsMenu = <Menu>{workloadMenuList}</Menu>;
|
||||
|
||||
const traitsMenu = <Menu>{traitMenuList}</Menu>;
|
||||
|
||||
// Capability parameters form render
|
||||
const [formData, setData] = useState({});
|
||||
// schema is OpenAPI Schema JSON data
|
||||
const [workloadSchema, setWorkloadSchema] = useState({})
|
||||
const [traitSchema, setTraitSchema] = useState({})
|
||||
const [workloadSchema, setWorkloadSchema] = useState({});
|
||||
const [traitSchema, setTraitSchema] = useState({});
|
||||
const [valid, setValid] = useState([]);
|
||||
|
||||
function handleMenuClick(capabilityType: string, capabilityName: string) {
|
||||
console.log('click', capabilityName);
|
||||
getCapabilityOpenAPISchema(capabilityName).then((result) => {
|
||||
const data = JSON.parse(result.data)
|
||||
if (capabilityType === "workload_type") {
|
||||
setWorkloadSchema(data)
|
||||
} else if (capabilityType === "trait") {
|
||||
setTraitSchema(data)
|
||||
const data = JSON.parse(result.data);
|
||||
if (capabilityType === 'workload_type') {
|
||||
setWorkloadSchema(data);
|
||||
} else if (capabilityType === 'trait') {
|
||||
setTraitSchema(data);
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
const onSubmit = () => {
|
||||
@@ -70,64 +68,52 @@ export default (): React.ReactNode => {
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={{maxWidth: 600}}>
|
||||
<div style={{ maxWidth: 600 }}>
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Application
|
||||
</Col>
|
||||
<Col span="20"/>
|
||||
<Col span="4">Application</Col>
|
||||
<Col span="20" />
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Name:
|
||||
</Col>
|
||||
<Col span="4">Name:</Col>
|
||||
<Col span="8">
|
||||
<Input placeholder="Basic usage"/>
|
||||
<Input placeholder="Basic usage" />
|
||||
</Col>
|
||||
<Col span="12"/>
|
||||
<Col span="12" />
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="24">
|
||||
<Divider/>
|
||||
<Divider />
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Services
|
||||
</Col>
|
||||
<Col span="20"/>
|
||||
<Col span="4">Services</Col>
|
||||
<Col span="20" />
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Name:
|
||||
</Col>
|
||||
<Col span="4">Name:</Col>
|
||||
<Col span="8">
|
||||
<Input placeholder="Basic usage"/>
|
||||
<Input placeholder="Basic usage" />
|
||||
</Col>
|
||||
<Col span="12"/>
|
||||
<Col span="12" />
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Type:
|
||||
</Col>
|
||||
<Col span="4">Type:</Col>
|
||||
<Col span="20">
|
||||
<Dropdown overlay={workloadsMenu}>
|
||||
<a className="ant-dropdown-link">
|
||||
Select <DownOutlined/>
|
||||
Select <DownOutlined />
|
||||
</a>
|
||||
</Dropdown>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Settings:
|
||||
</Col>
|
||||
<Col span="4">Settings:</Col>
|
||||
<Col span="20">
|
||||
<FormRender
|
||||
schema={workloadSchema}
|
||||
@@ -141,34 +127,28 @@ export default (): React.ReactNode => {
|
||||
|
||||
<Row>
|
||||
<Col span="24">
|
||||
<Divider/>
|
||||
<Divider />
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Traits
|
||||
</Col>
|
||||
<Col span="20"/>
|
||||
<Col span="4">Traits</Col>
|
||||
<Col span="20" />
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Type:
|
||||
</Col>
|
||||
<Col span="4">Type:</Col>
|
||||
<Col span="20">
|
||||
<Dropdown overlay={traitsMenu}>
|
||||
<a className="ant-dropdown-link" onClick={e => e.preventDefault()}>
|
||||
Select <DownOutlined/>
|
||||
<a className="ant-dropdown-link" onClick={(e) => e.preventDefault()}>
|
||||
Select <DownOutlined />
|
||||
</a>
|
||||
</Dropdown>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="4">
|
||||
Properties:
|
||||
</Col>
|
||||
<Col span="4">Properties:</Col>
|
||||
<Col span="20">
|
||||
<FormRender
|
||||
schema={traitSchema}
|
||||
@@ -181,11 +161,13 @@ export default (): React.ReactNode => {
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Col span="8"/>
|
||||
<Col span="8" />
|
||||
<Col span="8">
|
||||
<Button onClick={onSubmit} type="primary">Submit</Button>
|
||||
<Button onClick={onSubmit} type="primary">
|
||||
Submit
|
||||
</Button>
|
||||
</Col>
|
||||
<Col span="8"/>
|
||||
<Col span="8" />
|
||||
</Row>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
import { request } from 'umi';
|
||||
|
||||
|
||||
/*
|
||||
* workload type list: get /api/workloads/
|
||||
*/
|
||||
export async function getWorkloads(): Promise<API.VelaResponse<API.Workloads[]>> {
|
||||
return request( '/api/workloads');
|
||||
return request('/api/workloads');
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* trait list: get /api/traits/
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user