diff --git a/backend/.idea/workspace.xml b/backend/.idea/workspace.xml
index cf3e5bd..9b0e804 100644
--- a/backend/.idea/workspace.xml
+++ b/backend/.idea/workspace.xml
@@ -20,8 +20,12 @@
+
+
+
+
@@ -84,7 +88,8 @@
-
+
+
@@ -104,180 +109,180 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/backend/sub-store.js b/backend/sub-store.js
index 2a8dbca..583d9eb 100644
--- a/backend/sub-store.js
+++ b/backend/sub-store.js
@@ -50,6 +50,7 @@ $app.route("/api/collection/:name")
.get(getCollection)
.patch(updateCollection)
.delete(deleteCollection);
+
$app.route("/api/collection")
.get(getAllCollections)
.post(newCollection)
@@ -179,7 +180,7 @@ async function parseSub(sub, platform) {
if (item.type.indexOf("Filter") !== -1) {
const filter = AVAILABLE_FILTERS[item.type];
if (filter) {
- $filter.addFilters(filter(...(item.args || [])));
+ $filter.addFilters(filter(item.args));
proxies = $filter.process(proxies);
$.log(`Applying filter "${item.type}" with arguments:\n >>> ${item.args || "None"}`);
}
@@ -1671,7 +1672,6 @@ function RegionFilter(regions) {
"SG": "🇸🇬",
"JP": "🇯🇵",
"UK": "🇬🇧",
- "KR": "🇰🇷"
};
return {
name: "Region Filter",
diff --git a/web/src/components/RegionFilter.vue b/web/src/components/RegionFilter.vue
index 6900e74..fc73567 100644
--- a/web/src/components/RegionFilter.vue
+++ b/web/src/components/RegionFilter.vue
@@ -4,7 +4,7 @@
flag
区域过滤
-
+
mdi-delete
@@ -18,7 +18,7 @@
区域过滤器
- 根据区域过滤节点,不选则默认保留所有节点。
+ 根据区域过滤节点,至少需要保留一个区域!
@@ -67,11 +67,25 @@ const regions = [
}
];
export default {
+ props: ["args"],
data: function () {
return {
+ idx: this.$vnode.key,
regions,
selection: []
}
+ },
+ created() {
+ this.selection = this.args || [];
+ },
+ watch: {
+ selection() {
+ this.$emit("dataChanged", {
+ idx: this.idx,
+ type: "Region Filter",
+ args: this.selection
+ })
+ }
}
}
diff --git a/web/src/components/TypeFilter.vue b/web/src/components/TypeFilter.vue
new file mode 100644
index 0000000..02e6069
--- /dev/null
+++ b/web/src/components/TypeFilter.vue
@@ -0,0 +1,91 @@
+
+
+
+ cloud_circle
+ 节点类型过滤
+
+
+ mdi-delete
+
+
+
+
+ help
+
+
+
+
+ 节点类型过滤器
+
+
+ 根据节点类型过滤节点,至少需要保留一种类型!
+
+
+
+
+
+
+
+ {{ type.name }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/src/views/SubEditor.vue b/web/src/views/SubEditor.vue
index 270c647..d28bd41 100644
--- a/web/src/views/SubEditor.vue
+++ b/web/src/views/SubEditor.vue
@@ -23,8 +23,12 @@
- save_alt
- settings_backup_restore
+
+ save_alt
+
+
+ settings_backup_restore
+
@@ -44,6 +48,7 @@
+
-
+
节点操作
-
- add_circle
-
+
+
+
+ add_circle
+
+
+
+ 选择节点操作
+
+
+
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+