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

69 lines
2.0 KiB
JavaScript
Raw Normal View History

Vue.component("http-expires-time-config-box", {
props: ["v-expires-time"],
data: function () {
let expiresTime = this.vExpiresTime
if (expiresTime == null) {
expiresTime = {
isPrior: false,
isOn: false,
overwrite: true,
autoCalculate: true,
duration: {count: -1, "unit": "hour"}
}
}
return {
expiresTime: expiresTime
}
},
watch: {
"expiresTime.isPrior": function () {
this.notifyChange()
},
"expiresTime.isOn": function () {
this.notifyChange()
},
"expiresTime.overwrite": function () {
this.notifyChange()
},
"expiresTime.autoCalculate": function () {
this.notifyChange()
}
},
methods: {
notifyChange: function () {
this.$emit("change", this.expiresTime)
}
},
template: `<div>
<table class="ui table">
<prior-checkbox :v-config="expiresTime"></prior-checkbox>
<tbody v-show="expiresTime.isPrior">
<tr>
<td class="title">是否启用</td>
<td><checkbox v-model="expiresTime.isOn"></checkbox>
<p class="comment">启用后将会在响应的Header中添加<code-label>Expires</code-label></p>
</td>
</tr>
<tr v-show="expiresTime.isPrior && expiresTime.isOn">
<td>覆盖源站设置</td>
<td>
<checkbox v-model="expiresTime.overwrite"></checkbox>
<p class="comment">选中后会覆盖源站Header中已有的<code-label>Expires</code-label></p>
</td>
</tr>
<tr v-show="expiresTime.isPrior && expiresTime.isOn">
<td>自动计算时间</td>
<td><checkbox v-model="expiresTime.autoCalculate"></checkbox>
<p class="comment">根据已设置的缓存有效期进行计算</p>
</td>
</tr>
<tr v-show="expiresTime.isPrior && expiresTime.isOn && !expiresTime.autoCalculate">
<td>强制缓存时间</td>
<td>
<time-duration-box :v-value="expiresTime.duration" @change="notifyChange"></time-duration-box>
</td>
</tr>
</tbody>
</table>
</div>`
})