From ea90f16e54792052bbff3c8361ace04c39e67c3e Mon Sep 17 00:00:00 2001
From: Peng-YM <1048217874pengym@gmail.com>
Date: Mon, 31 Aug 2020 21:10:36 +0800
Subject: [PATCH] =?UTF-8?q?UI=E6=B7=BB=E5=8A=A0=E4=B8=A4=E4=B8=AA=E8=BF=87?=
=?UTF-8?q?=E6=BB=A4=E5=99=A8:=20=E5=8C=BA=E5=9F=9F=E8=BF=87=E6=BB=A4?=
=?UTF-8?q?=E5=99=A8=E5=92=8C=E7=B1=BB=E5=9E=8B=E8=BF=87=E6=BB=A4=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/.idea/workspace.xml | 135 ++++++++++++++--------------
backend/sub-store.js | 4 +-
web/src/components/RegionFilter.vue | 18 +++-
web/src/components/TypeFilter.vue | 91 +++++++++++++++++++
web/src/views/SubEditor.vue | 99 +++++++++++++++++---
5 files changed, 268 insertions(+), 79 deletions(-)
create mode 100644 web/src/components/TypeFilter.vue
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
+
+
+
+ 选择节点操作
+
+
+
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+