Skip to content

Commit ffcdb7b

Browse files
Added tooltips and some form layout changes
1 parent 13b55cf commit ffcdb7b

3 files changed

Lines changed: 61 additions & 50 deletions

File tree

api/src/main/java/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBStickinessPolicyCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public class CreateLBStickinessPolicyCmd extends BaseAsyncCreateCmd {
6868
@Parameter(name = ApiConstants.METHOD_NAME,
6969
type = CommandType.STRING,
7070
required = true,
71-
description = "name of the load balancer stickiness policy method, possible values can be obtained from listNetworks API")
71+
description = "name of the load balancer stickiness policy method, possible values are LbCookie, AppCookie, SourceBased")
7272
private String stickinessMethodName;
7373

7474
@Parameter(name = ApiConstants.PARAM_LIST, type = CommandType.MAP, description = "param list. Example: param[0].name=cookiename&param[0].value=LBCookie ")

ui/public/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2744,6 +2744,7 @@
27442744
"message.linstor.resourcegroup.description": "Linstor resource group to use for primary storage.",
27452745
"message.listnsp.not.return.providerid": "error: listNetworkServiceProviders API doesn't return VirtualRouter provider ID.",
27462746
"message.load.host.failed": "Failed to load hosts.",
2747+
"message.loadbalancer.stickypolicy.configuration": "Customize the load balancer stickiness policy:",
27472748
"message.loading.add.interface.static.route": "Adding interface Static Route...",
27482749
"message.loading.add.network.static.route": "Adding network Static Route...",
27492750
"message.loading.add.policy.rule": "Adding Policy rule...",

ui/src/views/network/LoadBalancing.vue

Lines changed: 59 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,10 @@
297297
v-ctrl-enter="handleSubmitStickinessForm"
298298
class="custom-ant-form"
299299
>
300-
<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>
301304
<a-select
302305
v-focus="true"
303306
v-model:value="form.methodname"
@@ -316,58 +319,64 @@
316319
<a-form-item
317320
name="name"
318321
ref="name"
319-
:label="$t('label.sticky.name')"
320322
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
321323
'AppCookie' || stickinessPolicyMethod === 'SourceBased'">
322324
<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>
323328
</a-form-item>
324-
<a-form-item
325-
name="cookieName"
326-
ref="cookieName"
327-
:label="$t('label.sticky.cookie-name')"
328-
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
329-
'AppCookie'">
330-
<a-input v-model:value="form.cookieName" />
331-
</a-form-item>
332-
<a-form-item
333-
name="mode"
334-
ref="mode"
335-
:label="$t('label.sticky.mode')"
336-
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
337-
'AppCookie'">
338-
<a-input v-model:value="form.mode" />
339-
</a-form-item>
340-
<a-form-item name="nocache" ref="nocache" :label="$t('label.sticky.nocache')" v-show="stickinessPolicyMethod === 'LbCookie'">
341-
<a-checkbox v-model:checked="form.nocache"></a-checkbox>
342-
</a-form-item>
343-
<a-form-item name="indirect" ref="indirect" :label="$t('label.sticky.indirect')" v-show="stickinessPolicyMethod === 'LbCookie'">
344-
<a-checkbox v-model:checked="form.indirect"></a-checkbox>
345-
</a-form-item>
346-
<a-form-item name="postonly" ref="postonly" :label="$t('label.sticky.postonly')" v-show="stickinessPolicyMethod === 'LbCookie'">
347-
<a-checkbox v-model:checked="form.postonly"></a-checkbox>
348-
</a-form-item>
349-
<a-form-item name="domain" ref="domain" :label="$t('label.domain')" v-show="stickinessPolicyMethod === 'LbCookie'">
350-
<a-input v-model:value="form.domain" />
351-
</a-form-item>
352-
<a-form-item name="length" ref="length" :label="$t('label.sticky.length')" v-show="stickinessPolicyMethod === 'AppCookie'">
353-
<a-input v-model:value="form.length" type="number" />
354-
</a-form-item>
355-
<a-form-item name="holdtime" ref="holdtime" :label="$t('label.sticky.holdtime')" v-show="stickinessPolicyMethod === 'AppCookie'">
356-
<a-input v-model:value="form.holdtime" type="number" />
357-
</a-form-item>
358-
<a-form-item name="requestLearn" ref="requestLearn" :label="$t('label.sticky.request-learn')" v-show="stickinessPolicyMethod === 'AppCookie'">
359-
<a-checkbox v-model:checked="form.requestLearn"></a-checkbox>
360-
</a-form-item>
361-
<a-form-item name="prefix" ref="prefix" :label="$t('label.sticky.prefix')" v-show="stickinessPolicyMethod === 'AppCookie'">
362-
<a-checkbox v-model:checked="form.prefix"></a-checkbox>
363-
</a-form-item>
364-
<a-form-item name="tablesize" ref="tablesize" :label="$t('label.sticky.tablesize')" v-show="stickinessPolicyMethod === 'SourceBased'">
365-
<a-input v-model:value="form.tablesize" />
366-
</a-form-item>
367-
<a-form-item name="expire" ref="expire" :label="$t('label.sticky.expire')" v-show="stickinessPolicyMethod === 'SourceBased'">
368-
<a-input v-model:value="form.expire" />
369-
</a-form-item>
370-
329+
<br/>
330+
{{ $t('message.loadbalancer.stickypolicy.configuration') }}
331+
<br/>
332+
<a-card>
333+
<a-form-item
334+
name="cookieName"
335+
ref="cookieName"
336+
:label="$t('label.sticky.cookie-name')"
337+
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
338+
'AppCookie'">
339+
<a-input v-model:value="form.cookieName" />
340+
</a-form-item>
341+
<a-form-item
342+
name="mode"
343+
ref="mode"
344+
:label="$t('label.sticky.mode')"
345+
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
346+
'AppCookie'">
347+
<a-input v-model:value="form.mode" />
348+
</a-form-item>
349+
<a-form-item name="nocache" ref="nocache" :label="$t('label.sticky.nocache')" v-show="stickinessPolicyMethod === 'LbCookie'">
350+
<a-checkbox v-model:checked="form.nocache"></a-checkbox>
351+
</a-form-item>
352+
<a-form-item name="indirect" ref="indirect" :label="$t('label.sticky.indirect')" v-show="stickinessPolicyMethod === 'LbCookie'">
353+
<a-checkbox v-model:checked="form.indirect"></a-checkbox>
354+
</a-form-item>
355+
<a-form-item name="postonly" ref="postonly" :label="$t('label.sticky.postonly')" v-show="stickinessPolicyMethod === 'LbCookie'">
356+
<a-checkbox v-model:checked="form.postonly"></a-checkbox>
357+
</a-form-item>
358+
<a-form-item name="domain" ref="domain" :label="$t('label.domain')" v-show="stickinessPolicyMethod === 'LbCookie'">
359+
<a-input v-model:value="form.domain" />
360+
</a-form-item>
361+
<a-form-item name="length" ref="length" :label="$t('label.sticky.length')" v-show="stickinessPolicyMethod === 'AppCookie'">
362+
<a-input v-model:value="form.length" type="number" />
363+
</a-form-item>
364+
<a-form-item name="holdtime" ref="holdtime" :label="$t('label.sticky.holdtime')" v-show="stickinessPolicyMethod === 'AppCookie'">
365+
<a-input v-model:value="form.holdtime" type="number" />
366+
</a-form-item>
367+
<a-form-item name="requestLearn" ref="requestLearn" :label="$t('label.sticky.request-learn')" v-show="stickinessPolicyMethod === 'AppCookie'">
368+
<a-checkbox v-model:checked="form.requestLearn"></a-checkbox>
369+
</a-form-item>
370+
<a-form-item name="prefix" ref="prefix" :label="$t('label.sticky.prefix')" v-show="stickinessPolicyMethod === 'AppCookie'">
371+
<a-checkbox v-model:checked="form.prefix"></a-checkbox>
372+
</a-form-item>
373+
<a-form-item name="tablesize" ref="tablesize" :label="$t('label.sticky.tablesize')" v-show="stickinessPolicyMethod === 'SourceBased'">
374+
<a-input v-model:value="form.tablesize" />
375+
</a-form-item>
376+
<a-form-item name="expire" ref="expire" :label="$t('label.sticky.expire')" v-show="stickinessPolicyMethod === 'SourceBased'">
377+
<a-input v-model:value="form.expire" />
378+
</a-form-item>
379+
</a-card>
371380
<div :span="24" class="action-button">
372381
<a-button @click="stickinessModalVisible = false">{{ $t('label.cancel') }}</a-button>
373382
<a-button type="primary" ref="submit" @click="handleSubmitStickinessForm">{{ $t('label.ok') }}</a-button>
@@ -813,6 +822,7 @@ export default {
813822
},
814823
beforeCreate () {
815824
this.createLoadBalancerRuleParams = this.$getApiParams('createLoadBalancerRule')
825+
this.createLoadBalancerStickinessPolicyParams = this.$getApiParams('createLBStickinessPolicy')
816826
},
817827
created () {
818828
this.initForm()

0 commit comments

Comments
 (0)