
    .th`                     p    S SK rS SKJr  S SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJr  S r " S S\
5      rg)	    N)Path)folium_static)HydraHeadApp)interactive_tablec                     [        U 5      R                  5       n[        R                  " U5      R	                  5       nU$ N)r   
read_bytesbase64	b64encodedecode)img_path	img_bytesencodeds      -/srv/www/htdocs/dashboard-gnss/apps/region.pyimg_to_bytesr      s2    X))+Iy)002GN    c                   0    \ rS rSrSS jrS rS rS rSrg)		RegionApp   c                 F    U R                   R                  U5        Xl        g r   )__dict__updatetitle)selfr   kwargss      r   __init__RegionApp.__init__   s    V$
r   c                 D    U R                  5         U R                  5         g r   )_cs_sidebar_cs_body)r   s    r   runRegionApp.run   s    r   c                    [         R                     [         R                  " SSS9  [         R                  R                  S[        R                  " SS5       S3SS9  [         R
                  " S5      n[         R
                  " S	5      n[         R                  " S
SS9n[         R                  " SSS9n[         R                  " SSS9n[         R                  " SSS9n[         R                  " SSS9  [         R                  " S5      nU(       Ga`  U(       a  U(       d  [         R                  " S5        GO:X:  a  [         R                  " S5        GOU[         R                  S'   U[         R                  S'   U[         R                  S'   U[         R                  S'   U[         R                  S'   U[         R                  S'   UR                  S5      nUR                  S5      n	UR                  n
SU
s=::  a  S::  a	  O  OSU
 3nO [         R                  " S5         S S S 5        g SU S U S!U	 S"3nUS#U S!U S$U S!U S%3	-  n[        R                  " U5      nU[         R                  S&'   S S S 5        g ! , (       d  f       g = f)'Na  
                <style>
                    div[data-testid="stVerticalBlock"] div:has(div.select-bar) {
                        position: sticky;
                        top: 0;
                        background-color: white;
                        z-index: 999;
                    }
                    .select-bar {
                        border-bottom: 0 solid black;
                    }
                </style>
                T)unsafe_allow_htmlzO<div style='padding-top: 0px; margin-top: -60px; margin-left: 40px;'><img src='zresources/region.pnglogoz' alt='Logo' width='200'></div>zPilih Start DatezPilih End DatezStart Longitudez%.2f)formatzEnd LongitudezStart LatitudezEnd Latitudez<div class='select-bar'></div>Submitz&Silakan pilih start date dan end date.z1Start date tidak boleh lebih besar dari end date.
start_dateend_dateslonelonslatelatz%Y-%m-%di  i  catalog_z$Data untuk tahun ini tidak tersedia.zSELECT * FROM z WHERE formatted_date BETWEEN 'z' AND ''z AND (SLAT BETWEEN 'z') AND (SLON BETWEEN 'z')data)stsidebarmarkdownutilsreplace_image
date_inputnumber_inputbuttonerrorsession_statestrftimeyear	load_data)r   r(   r)   r*   r+   r,   r-   submitstart_date_strend_date_strr<   tablequerydfs                 r   r   RegionApp._cs_sidebar   sE   ZZKK #'  JJ"001GPQQpr"&    '9:J}}%56H??#4VDD???6BD??#3FCD??>&ADKK8DQ YYx(F!HHEF*HHPQ 6@B$$\23;B$$Z0/3B$$V,/3B$$V,/3B$$V,/3B$$V, &0%8%8%DN#+#4#4Z#@L%??D t+t+"*4& 1!GHy Z~ -UG3RSaRbbijviwwxyE3D6F\]a\bbijniooqrrE /B 02B$$V,M ZZs   HI:*AI::
Jc                    S[         R                  ;   Ga  [         R                  S   nUR                  (       a  [         R                  " S5        g [	        U/ SQS9  [         R                  S   [         R                  S   -   S-  [         R                  S   [         R                  S	   -   S-  /n[
        R                  " US
SS9nUR                  5        HE  u  pESUS    SUS    SUS    3n[
        R                  " US   US   /US9R                  U5        MG     [        USSS9  g [         R                  " S5        g )Nr0   zTidak ada data yang ditemukan.)	copyHtml5csvHtml5
excelHtml5)buttonsr,   r-      r*   r+      z100%)location
zoom_startwidth(clatz, clonz), basefile)popupi  iX  )rN   heightzHSilakan isi parameter di sidebar dan klik Submit untuk menampilkan data.)r1   r:   emptyr9   r   foliumMapiterrowsMarkeradd_tor   info)r   rC   
map_centermindexrow
popup_texts          r   r    RegionApp._cs_bodye   s;   R%%%!!&)Bxx9: "".UV!//7":J:J6:RRVWWZ\ZjZjkqZruw  vF  vF  GM  vN  [N  RS  ZS  T
JJ
qO"$++-JE#$S[MCK=C
OCT!UJMM3v;F"<JOVVWXY #0 atC8GG^_r   )r   N) )	__name__
__module____qualname____firstlineno__r   r!   r   r    __static_attributes__ r   r   r   r      s    
G2R`r   r   )	streamlitr1   pathlibr   r
   r4   rV   streamlit_foliumr   hydralitr   itables.streamlitr   r   r   rh   r   r   <module>rn      s2         * ! /d` d`r   