fix(ClashRuleProvider): 规则集禁用失效

This commit is contained in:
wumode
2026-01-16 22:26:28 +08:00
parent 1f80e3b078
commit 323289aa74
3 changed files with 20 additions and 5 deletions

View File

@@ -6007,13 +6007,28 @@ const _sfc_main$q = /* @__PURE__ */ _defineComponent$q({
}, {
default: _withCtx$q(() => [
_createVNode$q(_component_v_btn_group, {
class: "d-sm-none",
variant: "outlined",
rounded: "",
divided: ""
}, {
default: _withCtx$q(() => [
_createVNode$q(_component_v_btn, {
icon: "mdi-plus",
disabled: loading.value,
onClick: openAddRuleDialog
}, null, 8, ["disabled"])
]),
_: 1
}),
_createVNode$q(_component_v_btn_group, {
class: "d-none d-sm-flex",
variant: "outlined",
rounded: "",
divided: ""
}, {
default: _withCtx$q(() => [
_createVNode$q(_component_v_btn, {
class: "d-none d-sm-flex",
icon: group.value ? "mdi-format-list-bulleted" : "mdi-format-list-group",
disabled: loading.value,
onClick: _cache[2] || (_cache[2] = ($event) => group.value = !group.value)

View File

@@ -3,7 +3,7 @@ const currentImports = {};
let moduleMap = {
"./Page":()=>{
dynamicLoadingCss(["__federation_expose_Page-CJILOVp4.css"], false, './Page');
return __federation_import('./__federation_expose_Page-DeAFYy3o.js').then(module =>Object.keys(module).every(item => exportSet.has(item)) ? () => module.default : () => module)},
return __federation_import('./__federation_expose_Page-DhQfGEOD.js').then(module =>Object.keys(module).every(item => exportSet.has(item)) ? () => module.default : () => module)},
"./Config":()=>{
dynamicLoadingCss(["__federation_expose_Config-CwbjkOP2.css"], false, './Config');
return __federation_import('./__federation_expose_Config-CY46uj5g.js').then(module =>Object.keys(module).every(item => exportSet.has(item)) ? () => module.default : () => module)},

View File

@@ -191,7 +191,7 @@ class ClashRuleProviderService:
except ValueError:
final_action = action
rules = self.state.ruleset_rules_manager.filter_rules_by_action(final_action)
return [rule.rule.condition_string() for rule in rules]
return [rule.rule.condition_string() for rule in rules if rule.meta.available()]
def sync_ruleset(self):
outbounds = set()
@@ -240,12 +240,12 @@ class ClashRuleProviderService:
self.state.save_data(DataKey.TOP_RULES, self.state.top_rules_manager.export_rules())
def clash_outbound(self) -> list[str]:
outbound = [pg_data.data.name for pg_data in self.state.proxy_groups_from_subs()]
outbound = [pg.data.name for pg in self.state.proxy_groups]
if self.state.clash_template:
outbound.extend(pg.name for pg in self.state.clash_template.proxy_groups)
if self.state.config.group_by_region or self.state.config.group_by_country:
outbound.extend(pg.name for pg in self.proxy_groups_by_region())
outbound.extend(pg.data.name for pg in self.state.proxy_groups)
outbound.extend(pg_data.data.name for pg_data in self.state.proxy_groups_from_subs())
outbound.extend(pg.data.name for pg in self.get_proxies())
return outbound