add delete variant button
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
import React, { useContext, useState } from 'react';
|
import React, { useContext, useState } from 'react';
|
||||||
import { Typography, Table, Modal, Button } from 'antd';
|
import { Typography, Table, Modal, Button } from 'antd';
|
||||||
import { ColumnsType } from 'antd/lib/table';
|
import { ColumnsType } from 'antd/lib/table';
|
||||||
|
import { DeleteOutlined } from '@ant-design/icons';
|
||||||
import { ServerStatusContext } from '../../../utils/server-status-context';
|
import { ServerStatusContext } from '../../../utils/server-status-context';
|
||||||
import { UpdateArgs, VideoVariant } from '../../../types/config-section';
|
import { UpdateArgs, VideoVariant } from '../../../types/config-section';
|
||||||
import VideoVariantForm from './video-variant-form';
|
import VideoVariantForm from './video-variant-form';
|
||||||
@@ -85,7 +86,15 @@ export default function CurrentVariantsTable() {
|
|||||||
postData.splice(editId, 1, modalDataState);
|
postData.splice(editId, 1, modalDataState);
|
||||||
}
|
}
|
||||||
postUpdateToAPI(postData);
|
postUpdateToAPI(postData);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
const handleDeleteVariant = index => {
|
||||||
|
const postData = [
|
||||||
|
...videoQualityVariants,
|
||||||
|
];
|
||||||
|
postData.splice(index, 1);
|
||||||
|
postUpdateToAPI(postData)
|
||||||
|
};
|
||||||
|
|
||||||
const handleUpdateField = ({ fieldName, value }: UpdateArgs) => {
|
const handleUpdateField = ({ fieldName, value }: UpdateArgs) => {
|
||||||
setModalDataState({
|
setModalDataState({
|
||||||
@@ -124,18 +133,30 @@ export default function CurrentVariantsTable() {
|
|||||||
title: '',
|
title: '',
|
||||||
dataIndex: '',
|
dataIndex: '',
|
||||||
key: 'edit',
|
key: 'edit',
|
||||||
render: (data: VideoVariant) => (
|
render: (data: VideoVariant) => {
|
||||||
<Button type="primary" size="small" onClick={() => {
|
const index = data.key - 1;
|
||||||
const index = data.key - 1;
|
return (
|
||||||
setEditId(index);
|
<span className="actions">
|
||||||
setModalDataState(videoQualityVariants[index]);
|
<Button type="primary" size="small" onClick={() => {
|
||||||
setDisplayModal(true);
|
setEditId(index);
|
||||||
}}>
|
setModalDataState(videoQualityVariants[index]);
|
||||||
Edit
|
setDisplayModal(true);
|
||||||
</Button>
|
}}>
|
||||||
),
|
Edit
|
||||||
},
|
</Button>
|
||||||
];
|
<Button
|
||||||
|
className="delete-button"
|
||||||
|
icon={<DeleteOutlined />}
|
||||||
|
size="small"
|
||||||
|
disabled={index === 0}
|
||||||
|
onClick={() => {
|
||||||
|
handleDeleteVariant(index);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
)},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
const statusMessage = (
|
const statusMessage = (
|
||||||
<div className={`status-message ${submitStatus || ''}`}>
|
<div className={`status-message ${submitStatus || ''}`}>
|
||||||
@@ -152,6 +173,7 @@ export default function CurrentVariantsTable() {
|
|||||||
{statusMessage}
|
{statusMessage}
|
||||||
|
|
||||||
<Table
|
<Table
|
||||||
|
className="variants-table"
|
||||||
pagination={false}
|
pagination={false}
|
||||||
size="small"
|
size="small"
|
||||||
columns={videoQualityColumns}
|
columns={videoQualityColumns}
|
||||||
|
|||||||
@@ -272,9 +272,20 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.variants-table {
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.delete-button {
|
||||||
|
margin-left: .5em;
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
}
|
||||||
.segment-tip {
|
.segment-tip {
|
||||||
width: 10em;
|
width: 10em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user