menuMDUIDocs
color_lens
A Material Design 3 és Web Components alapú új mdui 2 már elérhető, tekintse meg az mdui 2 dokumentációját.

Párbeszédablak

Az mdui párbeszédablakja (dialog) egy sokoldalú komponens, amelyet gyakran használnak információk megjelenítésére, értesítések küldésére vagy a felhasználók figyelmeztetésére.

Egyszerre csak egy párbeszédablak lehet nyitva. Ha egy újabb párbeszédablakot nyit meg, mielőtt az aktuális bezárulna, az új ablak várólistára kerül, és csak az aktuális ablak bezárása után jelenik meg.

Használat

  1. Hívás egyéni attribútumokkal
  2. JavaScript segítségével történő hívás

Stílus

Standard párbeszédablak

Ez egy standard párbeszédablak.

Példa
<div class="mdui-dialog">
  <div class="mdui-dialog-title">Are you sure?</div>
  <div class="mdui-dialog-content">You'll lose all photos and media!</div>
  <div class="mdui-dialog-actions">
    <button class="mdui-btn mdui-ripple">cancel</button>
    <button class="mdui-btn mdui-ripple">erase</button>
  </div>
</div>

Címsor nélkül

Ez a párbeszédablak nem tartalmaz címsort.

Példa
<div class="mdui-dialog">
  <div class="mdui-dialog-content">Discard draft?</div>
  <div class="mdui-dialog-actions">
    <button class="mdui-btn mdui-ripple">cancel</button>
    <button class="mdui-btn mdui-ripple">discard</button>
  </div>
</div>

Függőleges gombok

A párbeszédablak alján elhelyezkedő gombok alapértelmezés szerint vízszintesen jelennek meg. A gombok függőleges elrendezéséhez egyszerűen adja hozzá a .mdui-dialog-actions-stacked osztályt a <div class="mdui-dialog-actions"></div> elemhez.

Példa
<div class="mdui-dialog">
  <div class="mdui-dialog-title">Use Google's location service?</div>
  <div class="mdui-dialog-content">Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.</div>
  <div class="mdui-dialog-actions mdui-dialog-actions-stacked">
    <button class="mdui-btn mdui-ripple">turn on speed boost</button>
    <button class="mdui-btn mdui-ripple">no thanks</button>
  </div>
</div>

Rögzített címsor és gombok

Ha a párbeszédablak tartalma meghaladja annak magasságát, a .mdui-dialog-content elemben görgetősáv jelenik meg.

Ha a .mdui-dialog-title és .mdui-dialog-actions elemeket a .mdui-dialog-content belsejébe helyezi, a címsor és az alsó gombok a görgetősávval együtt mozognak. Ellenkező esetben a címsor és a gombok rögzítve maradnak felül, illetve alul.

Példa
<div class="mdui-dialog">
  <div class="mdui-dialog-content">
    <div class="mdui-dialog-title">Use Google's location service?</div>
    Let Google help apps determine location. This means sending anonymous location data to Google, even when no apps are running.
    <br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test<br/>test
  </div>
  <div class="mdui-dialog-actions">
    <button class="mdui-btn mdui-ripple">no thanks</button>
    <button class="mdui-btn mdui-ripple">turn on speeboost</button>
  </div>
</div>

Egyéni tartalom

A párbeszédablakon belül csak a <div class="mdui-dialog"></div> elem kötelező; az ezen belüli tartalom bármilyen HTML-re lecserélhető.

Az alábbi példában egy fülpanelt (tab) helyeztünk el a párbeszédablakban:

Példa
<div class="mdui-dialog" id="example-4">
  <div class="mdui-tab mdui-tab-full-width" id="example4-tab">
    <a href="#example4-tab1" class="mdui-ripple">web</a>
    <a href="#example4-tab2" class="mdui-ripple">shopping</a>
    <a href="#example4-tab3" class="mdui-ripple">videos</a>
  </div>
  <div id="example4-tab1" class="mdui-p-a-2">
    <p>tab 1</p>
    <p>tab 1</p>
    <p>tab 1</p>
    <p>tab 1</p>
    <p>tab 1</p>
    <p>tab 1</p>
  </div>
  <div id="example4-tab2" class="mdui-p-a-2">
    <p>tab 2</p>
    <p>tab 2</p>
    <p>tab 2</p>
    <p>tab 2</p>
    <p>tab 2</p>
    <p>tab 2</p>
  </div>
  <div id="example4-tab3" class="mdui-p-a-2">
    <p>tab 3</p>
    <p>tab 3</p>
    <p>tab 3</p>
    <p>tab 3</p>
    <p>tab 3</p>
    <p>tab 3</p>
  </div>
</div>

<script>
  var tab = new mdui.Tab('#example4-tab');
  document.getElementById('example-4').addEventListener('open.mdui.dialog', function () {
    tab.handleUpdate();
  });
</script>

Használat

Hívás egyéni attribútumokkal

Ezzel a módszerrel nincs szükség JavaScript-kód írására. Csak adjon hozzá egy mdui-dialog="options" attribútumot egy vezérlőelemhez (például egy gombhoz). Egyéni attribútumokon keresztüli híváskor egy extra target paramétert is meg kell adni, amely a vezérelt párbeszédablak CSS-szelektorát tartalmazza.

Példa
<button class="mdui-btn mdui-ripple mdui-color-theme-accent" mdui-dialog="{target: '#exampleDialog'}">open</button>

<div class="mdui-dialog" id="exampleDialog">
  <div class="mdui-dialog-title">Are you sure?</div>
  <div class="mdui-dialog-content">You'll lose all photos and media!</div>
  <div class="mdui-dialog-actions">
    <button class="mdui-btn mdui-ripple" mdui-dialog-close>cancel</button>
    <button class="mdui-btn mdui-ripple" mdui-dialog-confirm>erase</button>
  </div>
</div>

A párbeszédablakon belüli elemekhez attribútumok adhatók események kötéséhez, amelyek JavaScript hívásakor is használhatók.

AttribútumLeírás
mdui-dialog-closeErre az elemre kattintva kiváltódik a close.mdui.dialog esemény, és a párbeszédablak bezárul.
mdui-dialog-cancelErre az elemre kattintva kiváltódik a cancel.mdui.dialog esemény.
mdui-dialog-confirmErre az elemre kattintva kiváltódik a confirm.mdui.dialog esemény.

JavaScript segítségével történő hívás

Komponens példányosítása:

// A selector a párbeszédablak CSS szeleptora, DOM eleme vagy HTML sztringje
// Az options a konfigurációs paramétereket tartalmazza, lásd az alábbi listát
var inst = new mdui.Dialog(selector, options);
Futtatás

Paraméter

Paraméter neveTípusAlapértelmezettLeírás
overlaybooleantrueMegjelenjen-e a maszk (overlay) a párbeszédablak megnyitásakor.
historybooleantrueHozzáadjon-e URL hash-t a párbeszédablak megnyitásakor. Ha true, a párbeszédablak bezárható a böngésző „Vissza” gombjával vagy Androidon a visszagombbal.
modalbooleanfalseLegyen-e modális a párbeszédablak. Ha false, a párbeszédablakon kívüli területre kattintva az ablak bezárul, egyébként nem.
closeOnEscbooleantrueBezáruljon-e a párbeszédablak az Esc billentyű megnyomásakor.
closeOnCancelbooleantrueBezáruljon-e a párbeszédablak a „Mégse” gomb megnyomásakor.
closeOnConfirmbooleantrueBezáruljon-e a párbeszédablak a „Megerősítés” gomb megnyomásakor.
destroyOnClosedbooleanfalseAutomatikusan megsemmisüljön-e a párbeszédablak a bezárás után.

Metódus

Metódus neveLeírás
open()Párbeszédablak megnyitása.
close()Párbeszédablak bezárása.
toggle()Párbeszédablak nyitott állapotának váltása.
getState()Párbeszédablak állapotának lekérése. Négy állapot lehetséges (opening, opened, closing, closed).
destroy()Párbeszédablak megsemmisítése.
handleUpdate()A párbeszédablak pozíciójának és a görgetősáv magasságának újraszámítása. Ezt a metódust akkor kell meghívni, ha a párbeszédablak megnyitása után módosul a tartalma.

Esemény

Esemény neveLeírásCélpontParaméterek
open.mdui.dialogAz esemény akkor váltódik ki, amikor a párbeszédablak nyitási animációja elkezdődik.<div class="mdui-dialog"></div>event._detail.inst: példány
opened.mdui.dialogAz esemény akkor váltódik ki, amikor a párbeszédablak nyitási animációja befejeződik.
close.mdui.dialogAz esemény akkor váltódik ki, amikor a párbeszédablak zárási animációja elkezdődik.
closed.mdui.dialogAz esemény akkor váltódik ki, amikor a párbeszédablak zárási animációja befejeződik.
cancel.mdui.dialogAz esemény akkor váltódik ki, amikor a „Mégse” gombra kattintanak.
confirm.mdui.dialogAz esemény akkor váltódik ki, amikor a „Megerősítés” gombra kattintanak.

Előre definiált párbeszédablakok

Az mdui néhány előre definiált párbeszédablak-függvényt is kínál a gyakori esetekre. Ezek az ablakok csak JavaScript-tel hívhatók meg, nem szükséges HTML kódot írni hozzájuk.

Ezek a függvények mind párbeszédablak-példányt adnak vissza.

mdui.dialog()

Egy tetszőlegesen testreszabható párbeszédablak megnyitása (címsor, tartalom, gombok stb.). Ez egy általános metódus, az mdui.alert(), mdui.confirm() és mdui.prompt() is ezt használja alapként.

mdui.dialog(options)
Példa
mdui.dialog({
  title: 'title',
  content: 'content',
  buttons: [
    {
      text: 'Mégse'
    },
    {
      text: 'Megerősítés',
      onClick: function(inst){
        mdui.alert('Visszahívás a megerősítő gombra kattintáskor');
      }
    }
  ]
});

Paraméter

Paraméter neveTípusAlapértelmezettLeírás
titlestringA párbeszédablak címsora.
contentstringA párbeszédablak tartalma.
buttonsarrayGombok tömbje, ahol minden gomb egy gomb-paramétereket tartalmazó objektum (lásd az alábbi táblázatot).
stackedButtonsbooleanfalseFüggőlegesen legyenek-e elrendezve a gombok.
cssClassstringCSS osztályok a .mdui-dialog elemhez.
historybooleantrueFigyelje-e a hashchange eseményt. Ha true, a párbeszédablak bezárható Android visszagombbal vagy böngésző „Vissza” gombjával.
overlaybooleantrueMegjelenjen-e a maszk a párbeszédablak megnyitása után.
modalbooleanfalseLegyen-e modális a párbeszédablak. Ha false, a párbeszédablakon kívüli területre kattintva az ablak bezárul, egyébként nem.
closeOnEscbooleantrueBezáruljon-e a párbeszédablak az Esc billentyű megnyomásakor.
destroyOnClosedbooleantrueAutomatikusan megsemmisüljön-e a párbeszédablak a bezárás után.
onOpenfunctionVisszahívás a nyitási animáció kezdetekor. A paraméter a párbeszédablak példánya.
onOpenedfunctionVisszahívás a nyitási animáció végén. A paraméter a párbeszédablak példánya.
onClosefunctionVisszahívás a zárási animáció kezdetekor. A paraméter a párbeszédablak példánya.
onClosedfunctionVisszahívás a zárási animáció végén. A paraméter a párbeszédablak példánya.

Gomb paraméterei:

Paraméter neveTípusAlapértelmezettLeírás
textstringGomb szövege.
boldbooleanfalseLegyen-e félkövér a gomb szövege.
closebooleantrueBezáruljon-e a párbeszédablak a gombra kattintás után.
onClickfunctionA gombra kattintáskor lefutó visszahívási függvény.

mdui.alert()

Egy figyelmeztető ablak (alert) megnyitása, amely címsort, tartalmat és egy megerősítő gombot tartalmazhat:

mdui.alert(text, onConfirm, options)
mdui.alert(text, title, onConfirm, options)
Példa
// Csak szöveg
mdui.alert('content');

// Címsor és szöveg
mdui.alert('content', 'title');

// Visszahívással
mdui.alert('content', 'title', function() {
  mdui.alert('Megerősítés gombra kattintva');
});

// Szöveggel és visszahívással
mdui.alert('content', function() {
  mdui.alert('Megerősítés gombra kattintva');
});
  • text: szöveg
  • title: (opcionális) címsor
  • onConfirm: (opcionális) visszahívás a megerősítő gombra kattintáskor. A paraméter a párbeszédablak példánya.
  • options: (opcionális) paraméterek, lásd az alábbi táblázatot.
Paraméter neveTípusAlapértelmezettLeírás
confirmTextstringokA megerősítő gomb szövege.
historybooleantrueFigyelje-e a hashchange eseményt. Ha true, a párbeszédablak bezárható Android visszagombbal vagy böngésző „Vissza” gombjával.
modalbooleanfalseLegyen-e modális a párbeszédablak. Ha false, a párbeszédablakon kívüli területre kattintva az ablak bezárul, egyébként nem.
closeOnEscbooleantrueBezáruljon-e a párbeszédablak az Esc billentyű megnyomásakor.
closeOnConfirmbooleantrueBezáruljon-e a párbeszédablak a megerősítő gomb megnyomásakor.

mdui.confirm()

Egy megerősítő ablak (confirm) megnyitása, amely címsort, tartalmat, egy megerősítő és egy mégse gombot tartalmazhat:

mdui.confirm(text, onConfirm, onCancel, options)
mdui.confirm(text, title, onConfirm, onCancel, options)
Példa
// Szöveggel és megerősítési visszahívással
mdui.confirm('content', function(){
  mdui.alert('Megerősítés gombra kattintva');
});

// Szöveggel, megerősítési és elutasítási visszahívással
mdui.confirm('content',
  function(){
    mdui.alert('Megerősítés gombra kattintva');
  },
  function(){
    mdui.alert('Mégse gombra kattintva');
  }
);

// Szöveggel, címsorral és megerősítési visszahívással
mdui.confirm('content', 'title', function(){
  mdui.alert('Megerősítés gombra kattintva');
});

// Szöveggel, címsorral, megerősítési és elutasítási visszahívással
mdui.confirm('content', 'title',
  function(){
    mdui.alert('Megerősítés gombra kattintva');
  },
  function(){
    mdui.alert('Mégse gombra kattintva');
  }
);
  • text: szöveg
  • title: (opcionális) címsor
  • onConfirm: (opcionális) visszahívás a megerősítő gombra kattintáskor. A paraméter a párbeszédablak példánya.
  • onCancel: (opcionális) visszahívás a mégse gombra kattintáskor. A paraméter a párbeszédablak példánya.
  • options: (opcionális) paraméterek, lásd az alábbi táblázatot.
Paraméter neveTípusAlapértelmezettLeírás
confirmTextstringokA megerősítő gomb szövege.
cancelTextstringcancelA mégse gomb szövege.
historybooleantrueFigyelje-e a hashchange eseményt. Ha true, a párbeszédablak bezárható Android visszagombbal vagy böngésző „Vissza” gombjával.
modalbooleanfalseLegyen-e modális a párbeszédablak. Ha false, a párbeszédablakon kívüli területre kattintva az ablak bezárul, egyébként nem.
closeOnEscbooleantrueBezáruljon-e a párbeszédablak az Esc billentyű megnyomásakor.
closeOnCancelbooleantrueBezáruljon-e a párbeszédablak a mégse gomb megnyomásakor.
closeOnConfirmbooleantrueBezáruljon-e a párbeszédablak a megerősítő gomb megnyomásakor.

mdui.prompt()

Egy adatbekérő ablak (prompt) megnyitása, amely címsort, tartalmat, szövegmezőt, egy megerősítő és egy mégse gombot tartalmazhat:

mdui.prompt(label, onConfirm, onCancel, options)
mdui.prompt(label, title, onConfirm, onCancel, options)
Példa
// Egysoros szövegmező
mdui.prompt('Ez egy egysoros szövegmező',
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Megerősítés gombra kattintva');
  },
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Mégse gombra kattintva');
  }
);

// Többsoros szövegmező
mdui.prompt('Ez egy többsoros szövegmező',
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Megerősítés gombra kattintva');
  },
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Mégse gombra kattintva');
  },
  {
    type: 'textarea'
  }
);

// Címsorral
mdui.prompt('Kérjük, írjon be szöveget', 'title',
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Megerősítés gombra kattintva');
  },
  function (value) {
    mdui.alert('Ezt írta be:' + value + ', Mégse gombra kattintva');
  }
);
  • label: a szövegmező lebegő címkéjének szövege
  • title: (opcionális) címsor
  • onConfirm: (opcionális) visszahívás a megerősítő gombra kattintáskor. Két paramétert kap: a szövegmező értékét és a párbeszédablak példányát.
  • onCancel: (opcionális) visszahívás a mégse gombra kattintáskor. Két paramétert kap: a szövegmező értékét és a párbeszédablak példányát.
  • options: (opcionális) paraméterek, lásd az alábbi táblázatot
Paraméter neveTípusAlapértelmezettLeírás
confirmTextstringokA megerősítő gomb szövege
cancelTextstringcancelA mégse gomb szövege
historybooleantrueFigyelje-e a hashchange eseményt. Ha true, a párbeszédablak bezárható Android visszagombbal vagy böngésző „Vissza” gombjával.
modalbooleanfalseLegyen-e modális a párbeszédablak. Ha false, a párbeszédablakon kívüli területre kattintva az ablak bezárul, egyébként nem.
closeOnEscbooleantrueBezáruljon-e a párbeszédablak az Esc billentyű megnyomásakor.
closeOnCancelbooleantrueBezáruljon-e a párbeszédablak a mégse gomb megnyomásakor
closeOnConfirmbooleantrueBezáruljon-e a párbeszédablak a megerősítő gomb megnyomásakor
confirmOnEnterbooleanfalseKiváltódjon-e az onConfirm visszahívás az Enter billentyű megnyomásakor.
typestringtextA szövegmező típusa.
  • text: egysoros szövegmező
  • textarea: többsoros szövegmező
maxlengthint0Maximális bevihető karakterek száma
defaultValuestring''A szövegmező alapértelmezett értéke

CSS osztályok listája

OsztálynévLeírás
.mdui-dialogPárbeszédablak-komponens definiálása.
.mdui-dialog-titleA párbeszédablak címsorának definiálása.
.mdui-dialog-contentA párbeszédablak tartalmának definiálása.
.mdui-dialog-actionsA párbeszédablak műveleti sávjának definiálása.
.mdui-dialog-actions-stackedA párbeszédablak műveleti sávjának gombjait függőlegesen rendezi el.