Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Dialog / modal

  • käytetään Bootstrapin modalia
    • (warning) onko jossakin tarvetta ei-modaalille?
  • kutsu Eduplan GUIn omalla egdialog-funktiolla

Käyttökohteet

  • muokkausnäkymä (full)
  • näkymistä tehtävät monimutkaisemmat toiminnot, esim. listauksesta avattavat toimintoikkunat
  • ilmoitukset ja varoitukset (alert)
  • varmistus (confirm)

Dialogin alustaminen ja avaaminen

egdialog(id, url, options)

 

 

      • parametrit
        • id
        • dialogin id
        • url
        • url, josta ladataan sisältö
        • false, jos halutaan antaa optionsille arvoja, mutta dialogin sisältö on inlinena
        • options - muut asetukset, joita voidaan myös myöhemmin lisätä
        • title
          • dialogin otsikkoteksti, oletuksena id, joten "pakollinen"
        • size
          • dialogin koko, oletuksena "full"
        • btns


          • extraBtns


            • muut kuin tallennus (primary) ja close
          • btnTexts


            • close, oletuksena Close

            • primary, oletuksena Save
            • (warning) nämä annetaan kieleistettynä
        • style (muuttaa header-palkin värin)


          • success
          • error
          • info
          • warning
        • animation
          • oletus true (fade-luokka wrapperille)
      • appendTo
        • elementti, johon dialogi liitetään
        • oletuksena $(".e").first(), jotta Eduplan GUI tulee käyttöön

Inline

Code Block
languagehtml/xml
titleDialogin kutsu (inline)
<button onclick="egdialog('dialogin id')">Avaa</button>

Ajax

Code Block
languagehtml/xml
titleDialogin kutsu
<button onclick="egdialog('dialogin id', 'url josta sisältö ladataan')">Avaa</button>

HTML-rakenne

Code Block
languagevb
titleDialogin rakenne
collapsetrue
<!-- jos et halua animaatiota, poista luokka fade -->
<div id="myModal" class="modal fade">
   <!-- kokona yleensä small tai full, poikkeustilanteita varten katso kokotaulukko alempaa -->
   <div class="modal-dialog small"> 
      <div class="modal-content">
         <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">
               <span aria-hidden="true">&times</span>
               <span class="sr-only">Sulje</span>
            </button>
            <h4 class="modal-title">Otsikko</h4>
         </div>
         <div class="modal-body">
            <p>Sisältö</p>
         </div>
         <!-- halutut toimintonapit, yleensä ainakin Tallenna ja Sulje -->
         <div class="modal-footer"> 
            <button type="button" class="btn btn-default" data-dismiss="modal">Sulje</button>
            <button type="button" class="btn btn-primary">Tallenna</button>
         </div>
      </div><!-- /.modal-content -->
   </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


Jos parametri url annetaan egdialog() luo divin annetulla id:llä .e -luokan sisälle, jotta Eduplan GUI tyylit ovat käytössä. Silloin ylläolevan rakenne-esimerkin uloin div jätetään pois. Ladattavan sisällön tulee olla rakenteeltaan seuraavanlainen:

Code Block
languagehtml/xml
titleDialogin sisällön rakenne
  <div class="modal-dialog fixed-400">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Sulje</span></button>
        <h4 class="modal-title">Otsikko</h4>
      </div>
      <div class="modal-body">
        <p>Sisältö</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Sulje</button>
        <button type="button" class="btn btn-primary">Tallenna</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->

Dialogin koko

Dialogin kokoon pystyy vaikuttamaan .modal-dialog diville annettavilla luokilla. Seuraavassa on listattu käytössä olevat luokat ja niiden määrittelemät koot

Luokan nimiKoko Luokan nimiKoko Luokan nimiKoko
pct-1010%fixed-100100pxsmall350px
pct-2020%fixed-200200pxfull95%
pct-3030%fixed-300300px  
pct-4040%fixed-400400px  
pct-5050%fixed-500500px  
pct-6060%fixed-600600px  
pct-7070%fixed-700700px  
pct-80

80%

fixed-800800px  
pct-9090%fixed-900900px  
  maksimileveys  95%  


Käyttökohteet:

  • muokkausnäkymissä käytetään full-tyyliä, jotta saadaan mahdollisimman paljon tilaa lomakkeelle näytöllä
  • ilmoitus/varoitus/varmistus-ikkunoissa käytetään small

Dialogin toimintonappulat

Toiminnot ja niiden napit tulee olla ladattavan sisällön mukana, jotta dialogi on käytettävissä mistä tahansa kutsuttaessa. Napeissä käytetään Bootstrap-tyylejä ja ensijainen nappi sijoitetaan oikeanpuoleiseksi ja sille anntetaan luokka btn-primary. Sulje-toiminnolle ei tarvita erillistä metodia, data-attribuutti dismiss=modal riittää.

Code Block
languagehtml/xml
titleDialogin toiminnot
<div class="modal-footer">
   <button type="button" class="btn btn-default" data-dismiss="modal">Sulje</button>
   <button type="button" class="btn btn-primary" onclick="save();">Tallenna</button>
</div>

<script>
   function save() {
      // saving
   }
</script>

 

Muut ominaisuudet

"one-liner"

  • tyyli ilmoitusikkunan sisällölle, jossa on vain vähän tekstiä (yksi rivi) ja teksti halutaan keskittää ikkunan sisältöön
Code Block
languagehtml/xml
titleOne line alert
<div class="modal-body">
   <div class="one-liner">This is an error alert!</div>
</div>

 

Bootstrap

Lisää ominaisuuksia Bootstrapin dokumentaatiosta http://getbootstrap.com/javascript/#modals