Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -817,24 +817,28 @@ def enhanced_likert_scale(question_data):
|
|
| 817 |
<div class="likert-line">
|
| 818 |
"""
|
| 819 |
|
| 820 |
-
# اضافه کردن نقاط (از 1 تا scale)
|
|
|
|
| 821 |
for i in range(1, scale+1):
|
| 822 |
value = scale - i
|
| 823 |
-
|
|
|
|
|
|
|
| 824 |
|
| 825 |
scale_html += "</div></div>"
|
| 826 |
|
| 827 |
# نمایش کامپوننت HTML
|
| 828 |
components.html(scale_html, height=60)
|
| 829 |
-
|
|
|
|
| 830 |
value = st.number_input(
|
| 831 |
"پاسخ شما (از 1 تا 7):",
|
| 832 |
min_value=0,
|
| 833 |
max_value=scale,
|
| 834 |
-
value=st.session_state.get(key)
|
| 835 |
step=1,
|
| 836 |
key=f"{key}_input",
|
| 837 |
-
placeholder="
|
| 838 |
format="%d",
|
| 839 |
on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
|
| 840 |
)
|
|
|
|
| 817 |
<div class="likert-line">
|
| 818 |
"""
|
| 819 |
|
| 820 |
+
# اضافه کردن نقاط (از 1 تا scale) - فقط در صورتی که مقدار بزرگتر از 0 باشد
|
| 821 |
+
current_value = st.session_state.get(key, 0)
|
| 822 |
for i in range(1, scale+1):
|
| 823 |
value = scale - i
|
| 824 |
+
# فقط اگر مقدار جاری بزرگتر از 0 باشد و با این نقطه مطابقت داشته باشد، active شود
|
| 825 |
+
active_class = "active" if current_value > 0 and current_value == value else ""
|
| 826 |
+
scale_html += f"<div class='likert-dot {active_class}'></div>"
|
| 827 |
|
| 828 |
scale_html += "</div></div>"
|
| 829 |
|
| 830 |
# نمایش کامپوننت HTML
|
| 831 |
components.html(scale_html, height=60)
|
| 832 |
+
|
| 833 |
+
# ورودی عددی با محدوده 0 تا scale
|
| 834 |
value = st.number_input(
|
| 835 |
"پاسخ شما (از 1 تا 7):",
|
| 836 |
min_value=0,
|
| 837 |
max_value=scale,
|
| 838 |
+
value=st.session_state.get(key),
|
| 839 |
step=1,
|
| 840 |
key=f"{key}_input",
|
| 841 |
+
placeholder=" 1 (کمترین) تا 7 (بیشترین)",
|
| 842 |
format="%d",
|
| 843 |
on_change=lambda: st.session_state.update({key: st.session_state[f"{key}_input"]})
|
| 844 |
)
|