Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -748,6 +748,17 @@ def custom_likert_slider(question_data):
|
|
| 748 |
# مقدار پیشفرض (وسط طیف)
|
| 749 |
default_value = st.session_state.get(key, (points + 1) // 2)
|
| 750 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 751 |
# HTML و JavaScript
|
| 752 |
html = f"""
|
| 753 |
<div id="container_{key}" style="direction: ltr; font-family: 'B Nazanin'; margin-bottom: 30px;">
|
|
@@ -764,11 +775,35 @@ def custom_likert_slider(question_data):
|
|
| 764 |
</div>
|
| 765 |
</div>
|
| 766 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 767 |
<script>
|
| 768 |
function updateSlider(key) {{
|
| 769 |
const value = parseInt(document.getElementById(key).value);
|
| 770 |
document.getElementById('output_' + key).innerText = value;
|
| 771 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 772 |
// ارسال مقدار به Streamlit
|
| 773 |
window.parent.postMessage({{
|
| 774 |
type: 'streamlit:setComponentValue',
|
|
@@ -782,8 +817,8 @@ def custom_likert_slider(question_data):
|
|
| 782 |
# نمایش کامپوننت
|
| 783 |
components.html(html, height=150)
|
| 784 |
|
| 785 |
-
# مقدار نهایی
|
| 786 |
-
return
|
| 787 |
|
| 788 |
def create_ride_map():
|
| 789 |
"""ایجاد نقشه سفر با Folium - نسخه اصلاح شده با مناطق عمومی"""
|
|
|
|
| 748 |
# مقدار پیشفرض (وسط طیف)
|
| 749 |
default_value = st.session_state.get(key, (points + 1) // 2)
|
| 750 |
|
| 751 |
+
# ایجاد اسلایدر Streamlit (مخفی)
|
| 752 |
+
st_slider_val = st.slider(
|
| 753 |
+
"",
|
| 754 |
+
min_value=1,
|
| 755 |
+
max_value=points,
|
| 756 |
+
value=default_value,
|
| 757 |
+
step=1,
|
| 758 |
+
key=f"hidden_{key}",
|
| 759 |
+
label_visibility="collapsed"
|
| 760 |
+
)
|
| 761 |
+
|
| 762 |
# HTML و JavaScript
|
| 763 |
html = f"""
|
| 764 |
<div id="container_{key}" style="direction: ltr; font-family: 'B Nazanin'; margin-bottom: 30px;">
|
|
|
|
| 775 |
</div>
|
| 776 |
</div>
|
| 777 |
|
| 778 |
+
<style>
|
| 779 |
+
/* مخفی کردن اسلایدر Streamlit */
|
| 780 |
+
div[data-testid="stSlider"] {{
|
| 781 |
+
height: 0;
|
| 782 |
+
visibility: hidden;
|
| 783 |
+
margin: 0;
|
| 784 |
+
padding: 0;
|
| 785 |
+
}}
|
| 786 |
+
div[data-testid="stSlider"] > div {{
|
| 787 |
+
padding: 0 !important;
|
| 788 |
+
}}
|
| 789 |
+
div[data-testid="stSlider"] * {{
|
| 790 |
+
display: none !important;
|
| 791 |
+
}}
|
| 792 |
+
</style>
|
| 793 |
+
|
| 794 |
<script>
|
| 795 |
function updateSlider(key) {{
|
| 796 |
const value = parseInt(document.getElementById(key).value);
|
| 797 |
document.getElementById('output_' + key).innerText = value;
|
| 798 |
|
| 799 |
+
// به روزرسانی اسلایدر مخفی Streamlit
|
| 800 |
+
const hiddenSlider = parent.document.querySelector(`div[data-testid="stSlider"] input[type="range"]`);
|
| 801 |
+
if (hiddenSlider) {{
|
| 802 |
+
hiddenSlider.value = value;
|
| 803 |
+
const event = new Event('input', {{ bubbles: true }});
|
| 804 |
+
hiddenSlider.dispatchEvent(event);
|
| 805 |
+
}}
|
| 806 |
+
|
| 807 |
// ارسال مقدار به Streamlit
|
| 808 |
window.parent.postMessage({{
|
| 809 |
type: 'streamlit:setComponentValue',
|
|
|
|
| 817 |
# نمایش کامپوننت
|
| 818 |
components.html(html, height=150)
|
| 819 |
|
| 820 |
+
# مقدار نهایی از اسلایدر Streamlit
|
| 821 |
+
return st_slider_val
|
| 822 |
|
| 823 |
def create_ride_map():
|
| 824 |
"""ایجاد نقشه سفر با Folium - نسخه اصلاح شده با مناطق عمومی"""
|