mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
Merge pull request #141 from APIParkLab/feature/v1.3/mj
fix: get service remote option
This commit is contained in:
@@ -105,6 +105,7 @@ export type FilterFormType = {
|
||||
onFilterFormChange: (form: FilterFormType) => void;
|
||||
setFormCanSubmit:(canSubmit:boolean)=>void
|
||||
serviceId?:string
|
||||
teamId?:string
|
||||
}
|
||||
|
||||
export type FilterFormHandle = {
|
||||
@@ -119,6 +120,7 @@ export type FilterFormType = {
|
||||
option:unknown
|
||||
onShowValueChange?:(value:string)=>void
|
||||
serviceId?:string
|
||||
teamId?:string
|
||||
}
|
||||
|
||||
export type RemoteTitleType = {
|
||||
|
||||
@@ -9,7 +9,7 @@ import { BasicResponse, PLACEHOLDER, RESPONSE_TIPS, STATUS_CODE } from '@common/
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
|
||||
const RemoteFormItem: React.FC<FilterFormItemProps> = (props) =>{
|
||||
const {value, onChange, disabled,option, onShowValueChange,serviceId} = props
|
||||
const {value, onChange, disabled,option, onShowValueChange,serviceId, teamId} = props
|
||||
const [remoteList, setRemoteList] = useState<unknown[]>([])
|
||||
const [remoteTableColumns, setRemoteTableColumns] = useState<TableColumnsType>([])
|
||||
const [loading, setLoading] = useState<boolean>(false)
|
||||
@@ -28,7 +28,7 @@ const RemoteFormItem: React.FC<FilterFormItemProps> = (props) =>{
|
||||
titles:Array<RemoteTitleType>,
|
||||
total:number
|
||||
value:string
|
||||
}>>(`strategy/${serviceId === undefined ? '' : 'service/'}filter-remote/${option?.name}`,{method:'GET', eoParams:{keyword:searchWord}}).then(response=>{
|
||||
}>>(`strategy/${serviceId === undefined ? '' : 'service/'}filter-remote/${option?.name}`,{method:'GET', eoParams:{keyword:searchWord,...(serviceId ? {team:teamId, service:serviceId} : {})}}).then(response=>{
|
||||
const {code,data, msg} = response
|
||||
if(code === STATUS_CODE.SUCCESS){
|
||||
setRemoteList(data.list as unknown[])
|
||||
@@ -156,7 +156,7 @@ const FilterForm = forwardRef<FilterFormHandle,FilterFormProps>(({
|
||||
selectedOptionNameSet,
|
||||
disabled,
|
||||
setFormCanSubmit,
|
||||
serviceId},ref)=> {
|
||||
serviceId,teamId},ref)=> {
|
||||
const [form] = Form.useForm();
|
||||
const [filterType, setFilterType] = useState<'remote'|'static'|'pattern'>();
|
||||
const [curOption, setCurOption] = useState<unknown>()
|
||||
@@ -236,7 +236,7 @@ const FilterForm = forwardRef<FilterFormHandle,FilterFormProps>(({
|
||||
<Form.Item name="values" label={$t('属性值')} rules={
|
||||
(filterType === 'pattern' ? ( [{validator:form.getFieldValue('name') === 'ip' ? validateIPorCIDR : validateApiPath}]):[])
|
||||
}>
|
||||
{filterType === 'remote' && <RemoteFormItem serviceId={serviceId} option={curOption} disabled={disabled} onShowValueChange={setLabel}/>}
|
||||
{filterType === 'remote' && <RemoteFormItem serviceId={serviceId} teamId={teamId} option={curOption} disabled={disabled} onShowValueChange={setLabel}/>}
|
||||
|
||||
{filterType === 'pattern' && form.getFieldValue('name') !== 'ip' && (
|
||||
<Input
|
||||
|
||||
@@ -27,7 +27,7 @@ const FilterTable: React.FC<FilterTableProps> = ({
|
||||
const formRef = useRef<FilterFormHandle>(null);
|
||||
const [formCanSubmit,setFormCanSubmit] = useState(false)
|
||||
const [selectedOptionNameSet, setSelectedOptionNameSet] = useState<Set<string>>(new Set());
|
||||
const {serviceId} = useParams<RouterParams>()
|
||||
const {serviceId,teamId} = useParams<RouterParams>()
|
||||
const openDrawer = (type: string, data?: FilterFormField) => {
|
||||
switch (type) {
|
||||
case 'addFilter':
|
||||
@@ -68,7 +68,7 @@ const FilterTable: React.FC<FilterTableProps> = ({
|
||||
}, [value, onChange]);
|
||||
|
||||
const getFilterOptions = ()=>{
|
||||
fetchData<BasicResponse<{options:FilterOptionType[]}>>(`strategy/${serviceId === undefined ? 'global' : 'service'}/filter-options`,{method:'GET'}).then(response=>{
|
||||
fetchData<BasicResponse<{options:FilterOptionType[]}>>(`strategy/${serviceId === undefined ? 'global' : 'service'}/filter-options`,{method:'GET', eoParams:{...(serviceId ? {team:teamId, service:serviceId} : {})}}).then(response=>{
|
||||
const {code,data,msg} = response
|
||||
if(code === STATUS_CODE.SUCCESS){
|
||||
setFilterOptions(data.options)
|
||||
@@ -139,6 +139,7 @@ const FilterTable: React.FC<FilterTableProps> = ({
|
||||
disabled={disabled}
|
||||
setFormCanSubmit={setFormCanSubmit}
|
||||
serviceId={serviceId}
|
||||
teamId={teamId}
|
||||
/>
|
||||
</Modal>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user