添加正则过滤器,关键词过滤器

This commit is contained in:
Peng-YM 2020-08-31 23:57:34 +08:00
parent ea90f16e54
commit 089b36c4fe
10 changed files with 118 additions and 75 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -20,10 +20,13 @@
</component>
<component name="ChangeListManager">
<list default="true" id="8b97a098-48b2-4e64-a9ef-522fe2d30b52" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/../web/src/components/TypeFilter.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/sub-store.js" beforeDir="false" afterPath="$PROJECT_DIR$/sub-store.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/App.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/App.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/KeywordFilter.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/components/RegexFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegexFilter.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/components/RegionFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/RegionFilter.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/components/TypeFilter.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/components/TypeFilter.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/config.js" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/config.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" beforeDir="false" afterPath="$PROJECT_DIR$/../web/src/views/SubEditor.vue" afterDir="false" />
</list>
@ -89,7 +92,8 @@
<workItem from="1598859428550" duration="320000" />
<workItem from="1598860098729" duration="530000" />
<workItem from="1598861164355" duration="5198000" />
<workItem from="1598876594229" duration="1648000" />
<workItem from="1598876594229" duration="1662000" />
<workItem from="1598887302218" duration="1917000" />
</task>
<servers />
</component>
@ -109,7 +113,7 @@
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="WindowStateProjectService">
<state width="849" height="374" key="GridCell.Tab.0.bottom" timestamp="1598877603951">
<state width="849" height="374" key="GridCell.Tab.0.bottom" timestamp="1598888606483">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.0.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" />
@ -117,10 +121,10 @@
<state width="849" height="374" key="GridCell.Tab.0.bottom/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052766" />
<state width="850" height="374" key="GridCell.Tab.0.bottom/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298702" />
<state width="849" height="374" key="GridCell.Tab.0.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.0.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603951" />
<state width="849" height="374" key="GridCell.Tab.0.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606483" />
<state width="843" height="374" key="GridCell.Tab.0.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.0.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598324500703" />
<state width="849" height="374" key="GridCell.Tab.0.center" timestamp="1598877603950">
<state width="849" height="374" key="GridCell.Tab.0.center" timestamp="1598888606482">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.0.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" />
@ -128,10 +132,10 @@
<state width="849" height="374" key="GridCell.Tab.0.center/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052765" />
<state width="850" height="374" key="GridCell.Tab.0.center/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298701" />
<state width="849" height="374" key="GridCell.Tab.0.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" />
<state width="849" height="374" key="GridCell.Tab.0.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603950" />
<state width="849" height="374" key="GridCell.Tab.0.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606482" />
<state width="843" height="374" key="GridCell.Tab.0.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390882" />
<state width="840" height="374" key="GridCell.Tab.0.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598324500702" />
<state width="849" height="374" key="GridCell.Tab.0.left" timestamp="1598877603950">
<state width="849" height="374" key="GridCell.Tab.0.left" timestamp="1598888606482">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.0.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358067" />
@ -139,10 +143,10 @@
<state width="849" height="374" key="GridCell.Tab.0.left/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052763" />
<state width="850" height="374" key="GridCell.Tab.0.left/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298699" />
<state width="849" height="374" key="GridCell.Tab.0.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847574" />
<state width="849" height="374" key="GridCell.Tab.0.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603950" />
<state width="849" height="374" key="GridCell.Tab.0.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606482" />
<state width="843" height="374" key="GridCell.Tab.0.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390882" />
<state width="840" height="374" key="GridCell.Tab.0.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598324500701" />
<state width="849" height="374" key="GridCell.Tab.0.right" timestamp="1598877603950">
<state width="849" height="374" key="GridCell.Tab.0.right" timestamp="1598888606483">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.0.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358068" />
@ -150,10 +154,10 @@
<state width="849" height="374" key="GridCell.Tab.0.right/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052766" />
<state width="850" height="374" key="GridCell.Tab.0.right/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298701" />
<state width="849" height="374" key="GridCell.Tab.0.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.0.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603950" />
<state width="849" height="374" key="GridCell.Tab.0.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606483" />
<state width="843" height="374" key="GridCell.Tab.0.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.0.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598324500702" />
<state width="849" height="374" key="GridCell.Tab.1.bottom" timestamp="1598877608668">
<state width="849" height="374" key="GridCell.Tab.1.bottom" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.1.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" />
@ -161,10 +165,10 @@
<state width="849" height="374" key="GridCell.Tab.1.bottom/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.1.bottom/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298587" />
<state width="849" height="374" key="GridCell.Tab.1.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.1.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598877608668" />
<state width="849" height="374" key="GridCell.Tab.1.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.1.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.1.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.1.center" timestamp="1598877608667">
<state width="849" height="374" key="GridCell.Tab.1.center" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.1.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" />
@ -172,10 +176,10 @@
<state width="849" height="374" key="GridCell.Tab.1.center/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052625" />
<state width="850" height="374" key="GridCell.Tab.1.center/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298586" />
<state width="849" height="374" key="GridCell.Tab.1.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.1.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598877608667" />
<state width="849" height="374" key="GridCell.Tab.1.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.1.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.1.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.1.left" timestamp="1598877608667">
<state width="849" height="374" key="GridCell.Tab.1.left" timestamp="1598888606401">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.1.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" />
@ -183,10 +187,10 @@
<state width="849" height="374" key="GridCell.Tab.1.left/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052625" />
<state width="850" height="374" key="GridCell.Tab.1.left/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298586" />
<state width="849" height="374" key="GridCell.Tab.1.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.1.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598877608667" />
<state width="849" height="374" key="GridCell.Tab.1.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606401" />
<state width="843" height="374" key="GridCell.Tab.1.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.1.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292665" />
<state width="849" height="374" key="GridCell.Tab.1.right" timestamp="1598877608667">
<state width="849" height="374" key="GridCell.Tab.1.right" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.1.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358069" />
@ -194,10 +198,10 @@
<state width="849" height="374" key="GridCell.Tab.1.right/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052625" />
<state width="850" height="374" key="GridCell.Tab.1.right/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298587" />
<state width="849" height="374" key="GridCell.Tab.1.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847575" />
<state width="849" height="374" key="GridCell.Tab.1.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598877608667" />
<state width="849" height="374" key="GridCell.Tab.1.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.1.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.1.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.2.bottom" timestamp="1598877603856">
<state width="849" height="374" key="GridCell.Tab.2.bottom" timestamp="1598888606403">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.2.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" />
@ -205,10 +209,10 @@
<state width="849" height="374" key="GridCell.Tab.2.bottom/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.2.bottom/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298588" />
<state width="849" height="374" key="GridCell.Tab.2.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.2.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603856" />
<state width="849" height="374" key="GridCell.Tab.2.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606403" />
<state width="843" height="374" key="GridCell.Tab.2.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.2.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.2.center" timestamp="1598877603855">
<state width="849" height="374" key="GridCell.Tab.2.center" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.2.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" />
@ -216,10 +220,10 @@
<state width="849" height="374" key="GridCell.Tab.2.center/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.2.center/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298587" />
<state width="849" height="374" key="GridCell.Tab.2.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.2.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603855" />
<state width="849" height="374" key="GridCell.Tab.2.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.2.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.2.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.2.left" timestamp="1598877603855">
<state width="849" height="374" key="GridCell.Tab.2.left" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.2.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" />
@ -227,10 +231,10 @@
<state width="849" height="374" key="GridCell.Tab.2.left/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.2.left/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298587" />
<state width="849" height="374" key="GridCell.Tab.2.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.2.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603855" />
<state width="849" height="374" key="GridCell.Tab.2.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.2.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390883" />
<state width="840" height="374" key="GridCell.Tab.2.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.2.right" timestamp="1598877603855">
<state width="849" height="374" key="GridCell.Tab.2.right" timestamp="1598888606402">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.2.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358070" />
@ -238,10 +242,10 @@
<state width="849" height="374" key="GridCell.Tab.2.right/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.2.right/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298587" />
<state width="849" height="374" key="GridCell.Tab.2.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.2.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603855" />
<state width="849" height="374" key="GridCell.Tab.2.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606402" />
<state width="843" height="374" key="GridCell.Tab.2.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.2.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292666" />
<state width="849" height="374" key="GridCell.Tab.3.bottom" timestamp="1598877603856">
<state width="849" height="374" key="GridCell.Tab.3.bottom" timestamp="1598888606403">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.3.bottom/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" />
@ -249,10 +253,10 @@
<state width="849" height="374" key="GridCell.Tab.3.bottom/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052627" />
<state width="850" height="374" key="GridCell.Tab.3.bottom/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298589" />
<state width="849" height="374" key="GridCell.Tab.3.bottom/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" />
<state width="849" height="374" key="GridCell.Tab.3.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603856" />
<state width="849" height="374" key="GridCell.Tab.3.bottom/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606403" />
<state width="843" height="374" key="GridCell.Tab.3.bottom/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.3.bottom/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292667" />
<state width="849" height="374" key="GridCell.Tab.3.center" timestamp="1598877603856">
<state width="849" height="374" key="GridCell.Tab.3.center" timestamp="1598888606403">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.3.center/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" />
@ -260,10 +264,10 @@
<state width="849" height="374" key="GridCell.Tab.3.center/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.3.center/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298588" />
<state width="849" height="374" key="GridCell.Tab.3.center/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.3.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603856" />
<state width="849" height="374" key="GridCell.Tab.3.center/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606403" />
<state width="843" height="374" key="GridCell.Tab.3.center/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.3.center/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292667" />
<state width="849" height="374" key="GridCell.Tab.3.left" timestamp="1598877603856">
<state width="849" height="374" key="GridCell.Tab.3.left" timestamp="1598888606403">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.3.left/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358071" />
@ -271,10 +275,10 @@
<state width="849" height="374" key="GridCell.Tab.3.left/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052626" />
<state width="850" height="374" key="GridCell.Tab.3.left/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298588" />
<state width="849" height="374" key="GridCell.Tab.3.left/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847576" />
<state width="849" height="374" key="GridCell.Tab.3.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603856" />
<state width="849" height="374" key="GridCell.Tab.3.left/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606403" />
<state width="843" height="374" key="GridCell.Tab.3.left/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.3.left/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292667" />
<state width="849" height="374" key="GridCell.Tab.3.right" timestamp="1598877603856">
<state width="849" height="374" key="GridCell.Tab.3.right" timestamp="1598888606403">
<screen x="62" y="23" width="1730" height="1097" />
</state>
<state width="840" height="374" key="GridCell.Tab.3.right/0.0.1792.1120@0.0.1792.1120" timestamp="1598115358072" />
@ -282,7 +286,7 @@
<state width="849" height="374" key="GridCell.Tab.3.right/53.23.1739.1097@53.23.1739.1097" timestamp="1598865052627" />
<state width="850" height="374" key="GridCell.Tab.3.right/55.23.1737.1097@55.23.1737.1097" timestamp="1598850298588" />
<state width="849" height="374" key="GridCell.Tab.3.right/60.23.1732.1097@60.23.1732.1097" timestamp="1598872847577" />
<state width="849" height="374" key="GridCell.Tab.3.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598877603856" />
<state width="849" height="374" key="GridCell.Tab.3.right/62.23.1730.1097@62.23.1730.1097" timestamp="1598888606403" />
<state width="843" height="374" key="GridCell.Tab.3.right/67.23.1725.1097@67.23.1725.1097" timestamp="1598663390884" />
<state width="840" height="374" key="GridCell.Tab.3.right/70.23.1722.1097@70.23.1722.1097" timestamp="1598233292667" />
<state x="161" y="268" width="670" height="676" key="search.everywhere.popup" timestamp="1598787117227">

View File

@ -74,11 +74,9 @@ const DEFAULT_SUPPORTED_PLATFORMS = {
const AVAILABLE_FILTERS = {
"Keyword Filter": KeywordFilter,
"Discard Keyword Filter": DiscardKeywordFilter,
"Useless Filter": UselessFilter,
"Region Filter": RegionFilter,
"Regex Filter": RegexFilter,
"Discard Regex Filter": DiscardRegexFilter,
"Type Filter": TypeFilter,
"Script Filter": ScriptFilter
}
@ -182,7 +180,7 @@ async function parseSub(sub, platform) {
if (filter) {
$filter.addFilters(filter(item.args));
proxies = $filter.process(proxies);
$.log(`Applying filter "${item.type}" with arguments:\n >>> ${item.args || "None"}`);
$.log(`Applying filter "${item.type}" with arguments:\n >>> ${JSON.stringify(item.args) || "None"}`);
}
} else if (item.type.indexOf("Operator") !== -1) {
const operator = AVAILABLE_OPERATORS[item.type];
@ -1635,21 +1633,14 @@ function ScriptOperator(script) {
/**************************** Filters ***************************************/
// filter by keywords
function KeywordFilter(keywords) {
function KeywordFilter({keywords=[], keep = true}) {
return {
name: "Keyword Filter",
func: (proxies) => {
return proxies.map(proxy => keywords.some(k => proxy.name.indexOf(k) !== -1));
}
}
}
function DiscardKeywordFilter(keywords) {
return {
name: "Discard Keyword Filter",
func: proxies => {
const filter = KeywordFilter(keywords).func;
return NOT(filter(proxies));
return proxies.map(proxy => {
const selected = keywords.some(k => proxy.name.indexOf(k) !== -1);
return keep ? selected : !selected;
});
}
}
}
@ -1686,21 +1677,17 @@ function RegionFilter(regions) {
}
// filter by regex
function RegexFilter(regex) {
function RegexFilter({regex=[], keep = true}) {
return {
name: "Regex Filter",
func: (proxies) => {
return proxies.map(proxy => regex.some(r => r.test(proxy.name)));
}
}
}
function DiscardRegexFilter(regex) {
return {
name: "Discard Regex Filter",
func: proxies => {
const filter = RegexFilter(regex).func;
return NOT(filter(proxies));
return proxies.map(proxy => {
const selected = regex.some(r => {
r = new RegExp(r);
return r.test(proxy.name)
});
return keep ? selected : !selected;
});
}
}
}

View File

@ -49,7 +49,7 @@ export default {
},
created() {
this.$vuetify.theme.dark = false;
this.$vuetify.theme.dark = true;
this.$vuetify.theme.themes.dark.primary = '#0899ab';
this.$vuetify.theme.themes.light.primary = '#d73964';

View File

@ -4,7 +4,7 @@
<v-icon left color="primary">filter_list</v-icon>
关键词过滤
<v-spacer></v-spacer>
<v-btn icon>
<v-btn icon @click="$emit('deleteProcess', idx)">
<v-icon color="error">mdi-delete</v-icon>
</v-btn>
<v-dialog>
@ -24,14 +24,14 @@
</v-dialog>
</v-card-title>
<v-card-text>
模式
工作模式
<v-radio-group v-model="mode">
<v-row>
<v-col>
<v-radio label="保留" value="IN"/>
<v-radio label="保留模式" value="IN"/>
</v-col>
<v-col>
<v-radio label="过滤" value="OUT"/>
<v-radio label="过滤模式" value="OUT"/>
</v-col>
</v-row>
</v-radio-group>
@ -61,8 +61,10 @@
<script>
export default {
props: ['args'],
data: function () {
return {
idx: this.$vnode.key,
mode: "IN",
form: {
keyword: ""
@ -82,6 +84,25 @@ export default {
remove(idx) {
this.keywords.splice(idx, 1);
}
},
created() {
if (this.args) {
this.keywords = this.args.keywords || [];
if (this.args.keep) this.mode = this.args.keep ? "IN" : "OUT";
else this.mode = "IN";
}
},
watch: {
keywords() {
this.$emit("dataChanged", {
idx: this.idx,
type: "Keyword Filter",
args: {
keywords: this.keywords,
keep: this.mode === 'IN'
}
})
}
}
}
</script>

View File

@ -4,7 +4,7 @@
<v-icon left color="primary">code</v-icon>
正则过滤
<v-spacer></v-spacer>
<v-btn icon>
<v-btn icon @click="$emit('deleteProcess', idx)">
<v-icon color="error">mdi-delete</v-icon>
</v-btn>
<v-dialog>
@ -28,14 +28,14 @@
</v-dialog>
</v-card-title>
<v-card-text>
模式
工作模式
<v-radio-group v-model="mode">
<v-row>
<v-col>
<v-radio label="保留" value="IN"/>
<v-radio label="保留模式" value="IN"/>
</v-col>
<v-col>
<v-radio label="过滤" value="OUT"/>
<v-radio label="过滤模式" value="OUT"/>
</v-col>
</v-row>
</v-radio-group>
@ -65,13 +65,15 @@
<script>
export default {
props: ['args'],
data: function () {
return {
mode: "IN",
form: {
regex: ""
},
regexps: []
regexps: [],
idx: this.$vnode.key,
}
},
methods: {
@ -86,6 +88,25 @@ export default {
remove(idx) {
this.regexps.splice(idx, 1);
}
},
watch: {
regexps() {
this.$emit("dataChanged", {
idx: this.idx,
type: "Regex Filter",
args: {
regex: this.regexps,
keep: this.mode === 'IN'
}
})
}
},
created() {
if (this.args) {
this.regexps = this.args.regex || [];
if (this.args.keep) this.mode = this.args.keep ? "IN" : "OUT";
else this.mode = "IN";
}
}
}
</script>

View File

@ -18,7 +18,7 @@
区域过滤器
</v-card-title>
<v-card-text>
根据区域过滤节点至少需要保留一个区域
根据区域过滤节点至少需要保留一个区域选中的区域会被保留
</v-card-text>
</v-card>
</v-dialog>

View File

@ -18,7 +18,7 @@
节点类型过滤器
</v-card-title>
<v-card-text>
根据节点类型过滤节点至少需要保留一种类型
根据节点类型过滤节点至少需要保留一种类型选中的类型会被保留
</v-card-text>
</v-card>
</v-dialog>

View File

@ -1,3 +1,3 @@
const DEBUG = false;
const DEBUG = true;
export const BACKEND_BASE = DEBUG ? `http://192.168.1.134:3000` : `https://sub.store`;

View File

@ -173,6 +173,8 @@
import {showError, showInfo} from "@/utils";
import TypeFilter from "@/components/TypeFilter";
import RegionFilter from "@/components/RegionFilter";
import KeywordFilter from "@/components/KeywordFilter";
import RegexFilter from "@/components/RegexFilter";
const AVAILABLE_PROCESSORS = {
"Type Filter": {
@ -182,11 +184,19 @@ const AVAILABLE_PROCESSORS = {
"Region Filter": {
component: "RegionFilter",
name: "区域过滤器"
},
"Keyword Filter": {
component: "KeywordFilter",
name: "关键词过滤器"
},
"Regex Filter": {
component: "RegexFilter",
name: "正则过滤器"
}
}
export default {
components: {RegionFilter, TypeFilter},
components: {KeywordFilter, RegexFilter, RegionFilter, TypeFilter},
data: function () {
return {
selectedProcess: null,