fix(firewall): groupedSections nach filteredRules + pagination-Prop entfernt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -199,6 +199,20 @@ export default function RulesTab() {
|
|||||||
[rules],
|
[rules],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const filteredRules = useMemo(() => {
|
||||||
|
let r = sortedRules
|
||||||
|
if (searchText) {
|
||||||
|
const q = searchText.toLowerCase()
|
||||||
|
r = r.filter(rule =>
|
||||||
|
(rule.name ?? '').toLowerCase().includes(q) ||
|
||||||
|
(rule.comment ?? '').toLowerCase().includes(q),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
if (filterAction) r = r.filter(rule => rule.action === filterAction)
|
||||||
|
if (filterZone) r = r.filter(rule => rule.src_zone === filterZone || rule.dst_zone === filterZone)
|
||||||
|
return r
|
||||||
|
}, [sortedRules, searchText, filterAction, filterZone])
|
||||||
|
|
||||||
const groupedSections = useMemo(() => {
|
const groupedSections = useMemo(() => {
|
||||||
const map = new Map<string, { srcZone: string; dstZone: string; rules: FwRule[] }>()
|
const map = new Map<string, { srcZone: string; dstZone: string; rules: FwRule[] }>()
|
||||||
for (const r of filteredRules) {
|
for (const r of filteredRules) {
|
||||||
@@ -218,20 +232,6 @@ export default function RulesTab() {
|
|||||||
].filter(Boolean).join(' ')
|
].filter(Boolean).join(' ')
|
||||||
}
|
}
|
||||||
|
|
||||||
const filteredRules = useMemo(() => {
|
|
||||||
let r = sortedRules
|
|
||||||
if (searchText) {
|
|
||||||
const q = searchText.toLowerCase()
|
|
||||||
r = r.filter(rule =>
|
|
||||||
(rule.name ?? '').toLowerCase().includes(q) ||
|
|
||||||
(rule.comment ?? '').toLowerCase().includes(q),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
if (filterAction) r = r.filter(rule => rule.action === filterAction)
|
|
||||||
if (filterZone) r = r.filter(rule => rule.src_zone === filterZone || rule.dst_zone === filterZone)
|
|
||||||
return r
|
|
||||||
}, [sortedRules, searchText, filterAction, filterZone])
|
|
||||||
|
|
||||||
const create = useMutation({
|
const create = useMutation({
|
||||||
mutationFn: async (v: FormValues) => { await apiClient.post('/firewall/rules', buildPayload(v)) },
|
mutationFn: async (v: FormValues) => { await apiClient.post('/firewall/rules', buildPayload(v)) },
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
@@ -587,7 +587,6 @@ export default function RulesTab() {
|
|||||||
dataSource={groupRules}
|
dataSource={groupRules}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
rowClassName={rowClassFn}
|
rowClassName={rowClassFn}
|
||||||
pagination={false}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
|
|||||||
Reference in New Issue
Block a user