Skip to content

Commit 8ea1c41

Browse files
authored
Merge pull request #531 from Tencent/bugfix/schemetmp-add-rule-filter
🐛 修复分析方案模板添加规则筛选项异常
2 parents 966f5a3 + f004285 commit 8ea1c41

4 files changed

Lines changed: 74 additions & 75 deletions

File tree

web/packages/tca-analysis/src/modules/template/code-lint/all-rules-search.tsx

Lines changed: 67 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { Input, Form, Button } from 'coding-oa-uikit';
1010

1111
import SelectBorderless from '@src/components/select-borderless';
1212
import Filter from '@src/components/filter';
13-
import { SEVERITY } from '../../schemes/constants';
13+
import { SEVERITY, CATEGORY } from '../../schemes/constants';
1414

1515
const numberParams = ['checkpackage', 'severity', 'category'];
1616
const arrayParams = ['language_name'];
@@ -25,7 +25,7 @@ interface SearchProps {
2525
const Search = (props: SearchProps) => {
2626
const [form] = Form.useForm();
2727
const { searchParams, loading, filters, callback } = props;
28-
const { allPkgs = [], labels = [], languages = [] } = filters as any;
28+
const { allPkgs = [], languages = [] } = filters as any;
2929

3030
const initialValues = cloneDeep(searchParams);
3131

@@ -61,68 +61,71 @@ const Search = (props: SearchProps) => {
6161
};
6262

6363
return (
64-
<Filter form={form} style={{ margin: '12px 0' }} initialValues={initialValues}>
65-
<Filter.Item label="官方规则包" name="checkpackage">
66-
<SelectBorderless
67-
multiple
68-
allowClear
69-
placeholder="全部"
70-
data={getData(allPkgs)}
71-
onChange={(value: any) => value && onChange('checkpackage', value.join(','))}
72-
/>
73-
</Filter.Item>
74-
<Filter.Item label="严重级别" name="severity">
75-
<SelectBorderless
76-
multiple
77-
allowClear
78-
placeholder="全部"
79-
data={Object.entries(SEVERITY).map(([key, value]: [string, string]) => ({
80-
value: toNumber(key),
81-
text: value,
82-
}))}
83-
onChange={(value: any) => value && onChange('severity', value.join(','))}
84-
/>
85-
</Filter.Item>
86-
<Filter.Item label="规则分类" name="category">
87-
<SelectBorderless
88-
multiple
89-
allowClear
90-
placeholder="全部"
91-
data={getData(labels)}
92-
onChange={(value: any) => value && onChange('category', value.join(','))}
93-
/>
94-
</Filter.Item>
95-
<Filter.Item label="适用语言" name="language_name">
96-
<SelectBorderless
97-
multiple
98-
allowClear
99-
placeholder="全部"
100-
data={
101-
languages?.map((item: any) => ({
102-
value: item.name,
103-
text: item.display_name,
104-
}))
105-
}
106-
onChange={(value: any) => value && onChange('language_name', value.join(','))}
107-
/>
108-
</Filter.Item>
109-
<Filter.Item label="" name="display_name">
110-
<Input.Search
111-
size="middle"
112-
placeholder="规则名称"
113-
onSearch={value => onChange('display_name', value)}
114-
/>
115-
</Filter.Item>
116-
{
117-
Object.keys(searchParams).some((key: string) => (
118-
isArray(searchParams[key])
119-
? !isEmpty(searchParams[key])
120-
: searchParams[key])) && (
121-
<Button type="link" onClick={onClear} style={{ height: '36px' }}>
122-
清空过滤
123-
</Button>
124-
)}
125-
</Filter>
64+
<Filter form={form} style={{ margin: '12px 0' }} initialValues={initialValues}>
65+
<Filter.Item label="官方规则包" name="checkpackage">
66+
<SelectBorderless
67+
multiple
68+
allowClear
69+
placeholder="全部"
70+
data={getData(allPkgs)}
71+
onChange={(value: any) => value && onChange('checkpackage', value.join(','))}
72+
/>
73+
</Filter.Item>
74+
<Filter.Item label="严重级别" name="severity">
75+
<SelectBorderless
76+
multiple
77+
allowClear
78+
placeholder="全部"
79+
data={Object.entries(SEVERITY).map(([key, value]: [string, string]) => ({
80+
value: toNumber(key),
81+
text: value,
82+
}))}
83+
onChange={(value: any) => value && onChange('severity', value.join(','))}
84+
/>
85+
</Filter.Item>
86+
<Filter.Item label="规则分类" name="category">
87+
<SelectBorderless
88+
multiple
89+
allowClear
90+
placeholder="全部"
91+
data={Object.entries(CATEGORY).map(([key, value]: [string, string]) => ({
92+
value: toNumber(key),
93+
text: value,
94+
}))}
95+
onChange={(value: any) => value && onChange('category', value.join(','))}
96+
/>
97+
</Filter.Item>
98+
<Filter.Item label="适用语言" name="language_name">
99+
<SelectBorderless
100+
multiple
101+
allowClear
102+
placeholder="全部"
103+
data={
104+
languages?.map((item: any) => ({
105+
value: item.name,
106+
text: item.display_name,
107+
}))
108+
}
109+
onChange={(value: any) => value && onChange('language_name', value.join(','))}
110+
/>
111+
</Filter.Item>
112+
<Filter.Item label="" name="display_name">
113+
<Input.Search
114+
size="middle"
115+
placeholder="规则名称"
116+
onSearch={value => onChange('display_name', value)}
117+
/>
118+
</Filter.Item>
119+
{
120+
Object.keys(searchParams).some((key: string) => (
121+
isArray(searchParams[key])
122+
? !isEmpty(searchParams[key])
123+
: searchParams[key])) && (
124+
<Button type="link" onClick={onClear} style={{ height: '36px' }}>
125+
清空过滤
126+
</Button>
127+
)}
128+
</Filter>
126129
);
127130
};
128131

web/packages/tca-analysis/src/modules/template/code-lint/all-rules.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
getRuleDetail,
2525
getAllCheckPackages,
2626
} from '@src/services/template';
27-
import { getLabels, getLanguages } from '@src/services/schemes';
27+
import { getLanguages } from '@src/services/schemes';
2828

2929
import RuleDetail from '../../projects/issues/rule-detail';
3030
import Search from './all-rules-search';
@@ -46,7 +46,6 @@ const AllRules = () => {
4646
const [ruleDetail, setRuleDetail] = useState({});
4747

4848
const [allPkgs, setAllPkgs] = useState([]);
49-
const [labels, setLabels] = useState([]);
5049
const [languages, setLanguages] = useState([]);
5150

5251
const query = getQuery();
@@ -63,16 +62,14 @@ const AllRules = () => {
6362
getAllPkgs();
6463

6564
(async () => {
66-
const labels = await getLabels();
6765
const languages = await getLanguages();
68-
setLabels(labels.results || []);
6966
setLanguages(languages.results || []);
7067
})();
7168
}, [pkgId]);
7269

7370
const getAllPkgs = async () => {
7471
let pkgs = await getAllCheckPackages(orgSid, tmplId);
75-
pkgs = (pkgs.results || []).filter((item: any) => !item.disable);
72+
pkgs = (pkgs || []).filter((item: any) => !item.disable);
7673
setAllPkgs(pkgs);
7774
};
7875

@@ -144,7 +141,6 @@ const AllRules = () => {
144141
<Search
145142
filters={{
146143
allPkgs,
147-
labels,
148144
languages,
149145
}}
150146
searchParams={cloneDeep(searchParams)}
@@ -159,7 +155,7 @@ const AllRules = () => {
159155
<div className={style.operation}>
160156
<Button type="link" onClick={addRules} style={{ marginRight: 10 }}>
161157
批量添加 {difference(selectedRowKeys, selectedKeys).length} 条规则
162-
</Button>
158+
</Button>
163159
</div>
164160
)}
165161
<Table
2.24 KB
Binary file not shown.

web/tca-deploy-source/conf/configs.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@
3838
{
3939
"name": "tca-analysis",
4040
"description": "TCA Analysis 微前端",
41-
"commitId": "7c794f83fd257f09033286cd287f92aa4116021b",
41+
"commitId": "966f5a36e9301c047e1a6410e27a613a0a41a082",
4242
"match": "^/t/[^/]+/p/[^/]+/(code-analysis|repos|template|profile|group)",
4343
"js": [
44-
"/static/tca-analysis/runtime~tca-analysis-ee70aba9.js",
45-
"/static/tca-analysis/vendors~tca-analysis-4d35a288.js",
46-
"/static/tca-analysis/tca-analysis-2b484c44.js"
44+
"/static/tca-analysis/runtime~tca-analysis-749a7dad.js",
45+
"/static/tca-analysis/vendors~tca-analysis-706c96d6.js",
46+
"/static/tca-analysis/tca-analysis-2cee678b.js"
4747
],
4848
"css": [
4949
"/static/tca-analysis/vendors~tca-analysis-9b6df0cb.css",

0 commit comments

Comments
 (0)