Webové komponenty X-Tag

Jednou z úžasných součástí práce v Mozille je schopnost vidět a používat projekty od kolegů inženýrů předtím, než jsou sdíleny se světem. Jedno takové úsilí pochází od Daniela Buchnera:X-Tag. X-Tag je knihovna webových komponent pro různé prohlížeče, která používá vlastní značky a trochu JavaScriptu k vytváření komponent, které jsme vytvářeli roky:

  • Akordeony
  • Wigety na kartě
  • Posuvné panely (představte si prezentace)
  • Otočné panely (přemýšlejte o mobilních aplikacích)
  • Modální dialogy

Existuje dokonce několik pokročilých komponent jako:

  • Mapy
  • Automatické návrhy vstupů
  • Paginace

Každý kus těchto komponentů je zcela stylovatelný, což umožňuje maximálně flexibilní komponenty. Pojďme se rychle podívat na to, jak se tyto komponenty vytvářejí!

Nastavení X-Tag

Bez ohledu na to, kterou komponentu X-Tag chcete použít, musíte zahrnout hlavní skript x-tag.js. Pro každou komponentu, kterou chcete použít, budete muset zahrnout její Javascript a soubor CSS:

<script type="text/javascript" src="x-tag/x-tag.js"></script>

<!-- Accordion -->
<link rel="stylesheet" type="text/css" href="x-tag/elements/accordion/accordion.css" />
<script type="text/javascript" src="x-tag/elements/accordion/accordion.js"></script>

Používání komponent X-Tag

S potřebnými soubory JavaScript na místě můžete nyní používat komponenty X-Tag!

<!-- create an accordion -->
<h3>Accordion</h3>
<x-accordion id="accordion">
	<x-toggler selected="true">Toggler 1</x-toggler>
	<div>
		This is the content.
	</div>
	<x-toggler>Toggler 2</x-toggler>
	<div>
		This is the content 2.
	</div>
	<x-toggler>Toggler 3</x-toggler>
	<div>
		This is the content 2.
	</div>
</x-accordion>

<!-- create a tab box -->
<h3>TabBox</h3>
<x-tabbox id="tabbox">
	<x-tabs>
		<x-tab selected="true">Tab 1</x-tab>
		<x-tab>Tab 2</x-tab>
		<x-tab>Tab 3</x-tab>
	</x-tabs>
	
	<x-tabpanels>
		<x-tabpanel selected="true">
			<p>
				This is tab content 1
			</p>
		</x-tabpanel>
		<x-tabpanel>
			<p>
				This is tab content 2
			</p>
		</x-tabpanel>
		<x-tabpanel>
			<p>
				This is tab content 3
			</p>
		</x-tabpanel>
	</x-tabpanels>
</x-tabbox>

<!-- create a map -->
<x-map data-key="Cloudmade/OpenStreetMaps-API-Key"></x-map>

Proč tedy X-Tag? Udělejte krok zpět a zamyslete se nad jedním z nejstarších triků JavaScriptu v knize:zástupnými symboly INPUT. Trvalo téměř deset let, než se tato základní funkce dostala do specifikace. Přemýšlejte o tom, jak málo se udělalo ve způsobu vylepšení dětí FORM. X-Tag je prvním krokem v prosazování podpory nativních komponent v prohlížečích.

Podpora prohlížeče

X-Tag podporuje všechny prohlížeče třídy A. Podpora IE9 a Opery je téměř dokončena, podpora IE8 bude brzy následovat.

Co si myslíte?

Miluji knihovnu X-Tag. Jednoduché, efektivní, přizpůsobitelné. Existuje mnoho knihoven, které splňují komponenty X-Tag, ale tento přístup je mnohem jednodušší a (doufejme) je krokem k nativní podpoře. Nevadilo by mi však vidět sourozeneckou tematickou knihovnu. Co si myslíš o X-Tag? Máte nějaké nápady na další komponenty, které by měly žít v X-Tag?