GSMEthesis commited on
Commit
4ba8660
·
verified ·
1 Parent(s): 6a69d3c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -15
app.py CHANGED
@@ -681,10 +681,11 @@ def custom_likert_slider(question, key, points=7):
681
  7: ["کاملاً مخالفم", "نسبتاً مخالفم", "کمی مخالفم", "خنثی", "کمی موافقم", "نسبتاً موافقم", "کاملاً موافقم"]
682
  }
683
  labels = options.get(points, options[7])
684
-
685
- # مقدار پیش‌فرض از session_state یا نقطه میانی
686
- default_value = st.session_state.get(key, (points + 1) // 2)
687
-
 
688
  # HTML و JavaScript
689
  html = f"""
690
  <div id="container_{key}" style="direction: rtl; font-family: 'B Nazanin'; margin-bottom: 30px;">
@@ -700,13 +701,13 @@ def custom_likert_slider(question, key, points=7):
700
  <span id="label_{key}" style="color: #6a0dad; margin-right: 5px;">({labels[default_value-1]})</span>
701
  </div>
702
  </div>
703
-
704
  <script>
705
  function updateSlider(key) {{
706
  const value = parseInt(document.getElementById(key).value);
707
  document.getElementById('output_' + key).innerText = value;
708
  document.getElementById('label_' + key).innerText = '(' + {json.dumps(labels)}[value-1] + ')';
709
-
710
  // ارسال مقدار به Streamlit
711
  window.parent.postMessage({{
712
  type: 'streamlit:setComponentValue',
@@ -716,15 +717,13 @@ def custom_likert_slider(question, key, points=7):
716
  }}
717
  </script>
718
  """
719
-
720
- # نمایش کامپوننت و دریافت مقدار
721
- selected_value = components.html(html, height=180) # حذف پارامتر key
722
-
723
- # ذخیره مقدار در session_state
724
- if selected_value is not None:
725
- st.session_state[key] = selected_value
726
-
727
- return selected_value
728
 
729
  def create_ride_map():
730
  """ایجاد نقشه سفر با Folium - نسخه اصلاح شده با مناطق عمومی"""
 
681
  7: ["کاملاً مخالفم", "نسبتاً مخالفم", "کمی مخالفم", "خنثی", "کمی موافقم", "نسبتاً موافقم", "کاملاً موافقم"]
682
  }
683
  labels = options.get(points, options[7])
684
+
685
+ # بررسی و تعیین مقدار پیش‌فرض
686
+ raw_value = st.session_state.get(key)
687
+ default_value = raw_value if isinstance(raw_value, int) else (points + 1) // 2
688
+
689
  # HTML و JavaScript
690
  html = f"""
691
  <div id="container_{key}" style="direction: rtl; font-family: 'B Nazanin'; margin-bottom: 30px;">
 
701
  <span id="label_{key}" style="color: #6a0dad; margin-right: 5px;">({labels[default_value-1]})</span>
702
  </div>
703
  </div>
704
+
705
  <script>
706
  function updateSlider(key) {{
707
  const value = parseInt(document.getElementById(key).value);
708
  document.getElementById('output_' + key).innerText = value;
709
  document.getElementById('label_' + key).innerText = '(' + {json.dumps(labels)}[value-1] + ')';
710
+
711
  // ارسال مقدار به Streamlit
712
  window.parent.postMessage({{
713
  type: 'streamlit:setComponentValue',
 
717
  }}
718
  </script>
719
  """
720
+
721
+ # نمایش کامپوننت
722
+ components.html(html, height=180)
723
+
724
+ # مقدار نهایی (از session_state)
725
+ return st.session_state.get(key, default_value)
726
+
 
 
727
 
728
  def create_ride_map():
729
  """ایجاد نقشه سفر با Folium - نسخه اصلاح شده با مناطق عمومی"""