Files
EdgeAdmin/web/public/js/components/server/http-firewall-config-box.js

54 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-09-20 20:12:43 +08:00
Vue.component("http-firewall-config-box", {
2020-09-23 18:43:38 +08:00
props: ["v-firewall-config", "v-firewall-policies", "v-is-location"],
2020-09-20 20:12:43 +08:00
data: function () {
let firewall = this.vFirewallConfig
if (firewall == null) {
firewall = {
2020-09-23 18:43:38 +08:00
isPrior: false,
2020-09-20 20:12:43 +08:00
isOn: false,
firewallPolicyId: 0
}
}
return {
firewall: firewall
}
},
methods: {
changePolicyId: function () {
this.firewall.firewallPolicyId = parseInt(this.firewall.firewallPolicyId)
}
},
template: `<div>
<input type="hidden" name="firewallJSON" :value="JSON.stringify(firewall)"/>
<table class="ui table selectable definition">
2020-09-23 18:43:38 +08:00
<prior-checkbox :v-config="firewall" v-if="vIsLocation"></prior-checkbox>
<tbody v-show="!vIsLocation || firewall.isPrior">
2020-09-20 20:12:43 +08:00
<tr>
<td class="title">是否启用Web防火墙</td>
<td>
<div class="ui checkbox">
<input type="checkbox" v-model="firewall.isOn"/>
<label></label>
</div>
</td>
</tr>
</tbody>
2020-09-23 18:43:38 +08:00
<tbody v-show="(!vIsLocation || firewall.isPrior) && firewall.isOn">
2020-09-20 20:12:43 +08:00
<tr>
<td>选择Web防火墙策略</td>
<td>
<span class="disabled" v-if="vFirewallPolicies.length == 0">暂时还没有防火墙策略</span>
<div v-if="vFirewallPolicies.length > 0">
<select class="ui dropdown auto-width" v-model="firewall.firewallPolicyId" @change="changePolicyId">
<option value="0">[请选择]</option>
<option v-for="policy in vFirewallPolicies" :value="policy.id">{{policy.name}}</option>
</select>
</div>
</td>
</tr>
</tbody>
</table>
<div class="margin"></div>
</div>`
})