Skip to content

Commit c30f8c3

Browse files
author
Emre Üstere
committed
changes for user property conditions
1 parent 42966b5 commit c30f8c3

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

plugins/populator/frontend/public/javascripts/countly.common.components.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@
221221
selectedKey: this.selectedProperty,
222222
selectedValue: this.selectedValue,
223223
conditionType: this.conditionType,
224-
values: [{key: "", probability: 0}]
224+
values: [{key: "", probability: 100}],
225+
"isProbabilitiesEqual": true,
225226
});
226227
this.$emit('input', conditions);
227228
}
@@ -454,9 +455,11 @@
454455
try {
455456
if (this.users[index].conditions[conditionIndex].values.length === 1) {
456457
this.users[index].conditions.splice(conditionIndex, 1);
458+
this.calculateConditionProbabilities(index, conditionIndex);
457459
}
458460
else {
459461
this.users[index].conditions[conditionIndex].values.splice(valueIndex, 1);
462+
this.calculateConditionProbabilities(index, conditionIndex);
460463
}
461464
}
462465
catch (error) {
@@ -470,6 +473,7 @@
470473
onAddAnotherConditionValue: function(index, conditionIndex) {
471474
try {
472475
this.users[index].conditions[conditionIndex].values.push({key: "", probability: 0});
476+
this.calculateConditionProbabilities(index, conditionIndex);
473477
}
474478
catch (error) {
475479
CountlyHelpers.notify({
@@ -495,6 +499,17 @@
495499
}));
496500
this.users[index].values = updatedValues;
497501
}
502+
},
503+
calculateConditionProbabilities: function(index, conditionIndex) {
504+
if (this.users[index].conditions[conditionIndex].isProbabilitiesEqual) {
505+
var valueCount = Object.keys(this.users[index].conditions[conditionIndex].values).length,
506+
equalProbability = 100 / valueCount;
507+
const updatedValues = this.users[index].conditions[conditionIndex].values.map(item => ({
508+
...item,
509+
probability: equalProbability // Set the new probability value
510+
}));
511+
this.users[index].conditions[conditionIndex].values = updatedValues;
512+
}
498513
}
499514
},
500515
template: CV.T("/populator/templates/sections/users.html")

plugins/populator/frontend/public/templates/sections/users.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,17 @@
6969
</div>
7070
<div>
7171
<div>
72-
<span class="text-smallish bu-has-text-weight-medium">{{i18n('populator-template.probability')}}</span>
72+
<span class="text-smallish bu-has-text-weight-medium">
73+
<el-switch v-model="condition.isProbabilitiesEqual" class="bu-mr-2" @change="calculateConditionProbabilities(index, conditionIndex)"></el-switch>
74+
{{i18n('populator-template.probability')}}
75+
</span>
7376
<cly-tooltip-icon :tooltip="i18n('populator-template.probability-tooltip')" icon="ion ion-help-circled"></cly-tooltip-icon>
7477
</div>
7578
<div>
7679
<div class="bu-is-flex" v-for="(value, valueIndex) in condition.values">
7780
<div class="bu-mt-2">
7881
<validation-provider name="probability" v-slot="v" rules="required|integer|min_value:0|max_value:100">
79-
<el-input class="input" v-model="value.probability" :class="{'is-error': v.errors.length > 0}">
82+
<el-input class="input" v-model="value.probability" :class="{'is-error': v.errors.length > 0}" :disabled="!!condition.isProbabilitiesEqual">
8083
<template slot="suffix">
8184
<span class="text-medium color-cool-gray-50">%</span>
8285
</template>

0 commit comments

Comments
 (0)