|
267 | 267 | </a-modal> |
268 | 268 |
|
269 | 269 | <a-modal |
270 | | - :title="$t('label.configure.sticky.policy')" |
271 | 270 | :visible="stickinessModalVisible" |
272 | 271 | :footer="null" |
273 | 272 | :afterClose="closeModal" |
|
276 | 275 | :okButtonProps="{ props: {htmlType: 'submit'}}" |
277 | 276 | @cancel="stickinessModalVisible = false"> |
278 | 277 |
|
| 278 | + <template #title> |
| 279 | + <span>{{ $t('label.configure.sticky.policy') }}</span> |
| 280 | + <a |
| 281 | + style="margin-left: 5px" |
| 282 | + :href="$config.docBase + '/adminguide/networking/external_firewalls_and_load_balancers.html#sticky-session-policies-for-load-balancer-rules'" |
| 283 | + target="_blank"> |
| 284 | + <question-circle-outlined /> |
| 285 | + </a> |
| 286 | + </template> |
| 287 | + |
279 | 288 | <span v-show="stickinessModalLoading" class="modal-loading"> |
280 | 289 | <loading-outlined /> |
281 | 290 | </span> |
|
288 | 297 | v-ctrl-enter="handleSubmitStickinessForm" |
289 | 298 | class="custom-ant-form" |
290 | 299 | > |
291 | | - <a-form-item name="methodname" ref="methodname" :label="$t('label.stickiness.method')"> |
| 300 | + <a-form-item name="methodname" ref="methodname"> |
| 301 | + <template #label> |
| 302 | + <tooltip-label :title="$t('label.stickiness.method')" :tooltip="createLoadBalancerStickinessPolicyParams.methodname.description" :tooltip-placement="'right'"/> |
| 303 | + </template> |
292 | 304 | <a-select |
293 | 305 | v-focus="true" |
294 | 306 | v-model:value="form.methodname" |
|
307 | 319 | <a-form-item |
308 | 320 | name="name" |
309 | 321 | ref="name" |
310 | | - :label="$t('label.sticky.name')" |
311 | 322 | v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod === |
312 | 323 | 'AppCookie' || stickinessPolicyMethod === 'SourceBased'"> |
313 | 324 | <a-input v-model:value="form.name" /> |
| 325 | + <template #label> |
| 326 | + <tooltip-label :title="$t('label.sticky.name')" :tooltip="createLoadBalancerStickinessPolicyParams.name.description" :tooltip-placement="'right'"/> |
| 327 | + </template> |
314 | 328 | </a-form-item> |
315 | | - <a-form-item |
316 | | - name="cookieName" |
317 | | - ref="cookieName" |
318 | | - :label="$t('label.sticky.cookie-name')" |
319 | | - v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod === |
320 | | - 'AppCookie'"> |
321 | | - <a-input v-model:value="form.cookieName" /> |
322 | | - </a-form-item> |
323 | | - <a-form-item |
324 | | - name="mode" |
325 | | - ref="mode" |
326 | | - :label="$t('label.sticky.mode')" |
327 | | - v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod === |
328 | | - 'AppCookie'"> |
329 | | - <a-input v-model:value="form.mode" /> |
330 | | - </a-form-item> |
331 | | - <a-form-item name="nocache" ref="nocache" :label="$t('label.sticky.nocache')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
332 | | - <a-checkbox v-model:checked="form.nocache"></a-checkbox> |
333 | | - </a-form-item> |
334 | | - <a-form-item name="indirect" ref="indirect" :label="$t('label.sticky.indirect')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
335 | | - <a-checkbox v-model:checked="form.indirect"></a-checkbox> |
336 | | - </a-form-item> |
337 | | - <a-form-item name="postonly" ref="postonly" :label="$t('label.sticky.postonly')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
338 | | - <a-checkbox v-model:checked="form.postonly"></a-checkbox> |
339 | | - </a-form-item> |
340 | | - <a-form-item name="domain" ref="domain" :label="$t('label.domain')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
341 | | - <a-input v-model:value="form.domain" /> |
342 | | - </a-form-item> |
343 | | - <a-form-item name="length" ref="length" :label="$t('label.sticky.length')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
344 | | - <a-input v-model:value="form.length" type="number" /> |
345 | | - </a-form-item> |
346 | | - <a-form-item name="holdtime" ref="holdtime" :label="$t('label.sticky.holdtime')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
347 | | - <a-input v-model:value="form.holdtime" type="number" /> |
348 | | - </a-form-item> |
349 | | - <a-form-item name="requestLearn" ref="requestLearn" :label="$t('label.sticky.request-learn')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
350 | | - <a-checkbox v-model:checked="form.requestLearn"></a-checkbox> |
351 | | - </a-form-item> |
352 | | - <a-form-item name="prefix" ref="prefix" :label="$t('label.sticky.prefix')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
353 | | - <a-checkbox v-model:checked="form.prefix"></a-checkbox> |
354 | | - </a-form-item> |
355 | | - <a-form-item name="tablesize" ref="tablesize" :label="$t('label.sticky.tablesize')" v-show="stickinessPolicyMethod === 'SourceBased'"> |
356 | | - <a-input v-model:value="form.tablesize" /> |
357 | | - </a-form-item> |
358 | | - <a-form-item name="expire" ref="expire" :label="$t('label.sticky.expire')" v-show="stickinessPolicyMethod === 'SourceBased'"> |
359 | | - <a-input v-model:value="form.expire" /> |
360 | | - </a-form-item> |
361 | | - |
| 329 | + <div v-if="stickinessPolicyMethod !== 'none'"> |
| 330 | + <br/> |
| 331 | + {{ $t('message.loadbalancer.stickypolicy.configuration') }} |
| 332 | + <br/> |
| 333 | + <a-card> |
| 334 | + <a-form-item |
| 335 | + name="cookieName" |
| 336 | + ref="cookieName" |
| 337 | + :label="$t('label.sticky.cookie-name')" |
| 338 | + v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod === |
| 339 | + 'AppCookie'"> |
| 340 | + <a-input v-model:value="form.cookieName" /> |
| 341 | + </a-form-item> |
| 342 | + <a-form-item |
| 343 | + name="mode" |
| 344 | + ref="mode" |
| 345 | + :label="$t('label.sticky.mode')" |
| 346 | + v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod === |
| 347 | + 'AppCookie'"> |
| 348 | + <a-input v-model:value="form.mode" /> |
| 349 | + </a-form-item> |
| 350 | + <a-form-item name="nocache" ref="nocache" :label="$t('label.sticky.nocache')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
| 351 | + <a-checkbox v-model:checked="form.nocache"></a-checkbox> |
| 352 | + </a-form-item> |
| 353 | + <a-form-item name="indirect" ref="indirect" :label="$t('label.sticky.indirect')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
| 354 | + <a-checkbox v-model:checked="form.indirect"></a-checkbox> |
| 355 | + </a-form-item> |
| 356 | + <a-form-item name="postonly" ref="postonly" :label="$t('label.sticky.postonly')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
| 357 | + <a-checkbox v-model:checked="form.postonly"></a-checkbox> |
| 358 | + </a-form-item> |
| 359 | + <a-form-item name="domain" ref="domain" :label="$t('label.domain')" v-show="stickinessPolicyMethod === 'LbCookie'"> |
| 360 | + <a-input v-model:value="form.domain" /> |
| 361 | + </a-form-item> |
| 362 | + <a-form-item name="length" ref="length" :label="$t('label.sticky.length')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
| 363 | + <a-input v-model:value="form.length" type="number" /> |
| 364 | + </a-form-item> |
| 365 | + <a-form-item name="holdtime" ref="holdtime" :label="$t('label.sticky.holdtime')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
| 366 | + <a-input v-model:value="form.holdtime" type="number" /> |
| 367 | + </a-form-item> |
| 368 | + <a-form-item name="requestLearn" ref="requestLearn" :label="$t('label.sticky.request-learn')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
| 369 | + <a-checkbox v-model:checked="form.requestLearn"></a-checkbox> |
| 370 | + </a-form-item> |
| 371 | + <a-form-item name="prefix" ref="prefix" :label="$t('label.sticky.prefix')" v-show="stickinessPolicyMethod === 'AppCookie'"> |
| 372 | + <a-checkbox v-model:checked="form.prefix"></a-checkbox> |
| 373 | + </a-form-item> |
| 374 | + <a-form-item name="tablesize" ref="tablesize" :label="$t('label.sticky.tablesize')" v-show="stickinessPolicyMethod === 'SourceBased'"> |
| 375 | + <a-input v-model:value="form.tablesize" /> |
| 376 | + </a-form-item> |
| 377 | + <a-form-item name="expire" ref="expire" :label="$t('label.sticky.expire')" v-show="stickinessPolicyMethod === 'SourceBased'"> |
| 378 | + <a-input v-model:value="form.expire" /> |
| 379 | + </a-form-item> |
| 380 | + </a-card> |
| 381 | + </div> |
362 | 382 | <div :span="24" class="action-button"> |
363 | 383 | <a-button @click="stickinessModalVisible = false">{{ $t('label.cancel') }}</a-button> |
364 | 384 | <a-button type="primary" ref="submit" @click="handleSubmitStickinessForm">{{ $t('label.ok') }}</a-button> |
@@ -804,6 +824,7 @@ export default { |
804 | 824 | }, |
805 | 825 | beforeCreate () { |
806 | 826 | this.createLoadBalancerRuleParams = this.$getApiParams('createLoadBalancerRule') |
| 827 | + this.createLoadBalancerStickinessPolicyParams = this.$getApiParams('createLBStickinessPolicy') |
807 | 828 | }, |
808 | 829 | created () { |
809 | 830 | this.initForm() |
|
0 commit comments