mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 05:00:25 +08:00
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
Vue.component("http-gzip-box", {
|
||
props: ["v-gzip-config", "v-gzip-ref", "v-is-location"],
|
||
data: function () {
|
||
let gzip = this.vGzipConfig
|
||
if (gzip == null) {
|
||
gzip = {
|
||
isOn: true,
|
||
level: 0,
|
||
minLength: null,
|
||
maxLength: null,
|
||
conds: null
|
||
}
|
||
}
|
||
|
||
return {
|
||
gzip: gzip,
|
||
advancedVisible: false
|
||
}
|
||
},
|
||
methods: {
|
||
isOn: function () {
|
||
return (!this.vIsLocation || this.vGzipRef.isPrior) && this.vGzipRef.isOn
|
||
},
|
||
changeAdvancedVisible: function (v) {
|
||
this.advancedVisible = v
|
||
}
|
||
},
|
||
template: `<div>
|
||
<input type="hidden" name="gzipRefJSON" :value="JSON.stringify(vGzipRef)"/>
|
||
<table class="ui table selectable definition">
|
||
<prior-checkbox :v-config="vGzipRef" v-if="vIsLocation"></prior-checkbox>
|
||
<tbody v-show="!vIsLocation || vGzipRef.isPrior">
|
||
<tr>
|
||
<td class="title">启用Gzip压缩</td>
|
||
<td>
|
||
<div class="ui checkbox">
|
||
<input type="checkbox" v-model="vGzipRef.isOn"/>
|
||
<label></label>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
<tbody v-show="isOn()">
|
||
<tr>
|
||
<td class="title">压缩级别</td>
|
||
<td>
|
||
<select class="dropdown auto-width" name="level" v-model="gzip.level">
|
||
<option value="0">不压缩</option>
|
||
<option v-for="i in 9" :value="i">{{i}}</option>
|
||
</select>
|
||
<p class="comment">级别越高,压缩比例越大。</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
<more-options-tbody @change="changeAdvancedVisible" v-if="isOn()"></more-options-tbody>
|
||
<tbody v-show="isOn() && advancedVisible">
|
||
<tr>
|
||
<td>Gzip内容最小长度</td>
|
||
<td>
|
||
<size-capacity-box :v-name="'minLength'" :v-value="gzip.minLength" :v-unit="'kb'"></size-capacity-box>
|
||
<p class="comment">0表示不限制,内容长度从文件尺寸或Content-Length中获取。</p>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Gzip内容最大长度</td>
|
||
<td>
|
||
<size-capacity-box :v-name="'maxLength'" :v-value="gzip.maxLength" :v-unit="'mb'"></size-capacity-box>
|
||
<p class="comment">0表示不限制,内容长度从文件尺寸或Content-Length中获取。</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
<http-request-conds-tbody v-show="isOn() && advancedVisible" :v-conds="gzip.conds"></http-request-conds-tbody>
|
||
</table>
|
||
</div>`
|
||
}) |