SlideShare a Scribd company logo
1 of 34
Download to read offline
JobsUI
www.jobs.cz/ui
@Krejcek martin.kristof@lmc.eu
Proč máme vlastní

UI knihovnu?
Naučitelnost
Znovupoužitelnost
Přehlednost
Kooperace při návrhu s UX
Čistota kódu
Konzistence
Rozdělení JobsUI
Layout
• Color palette;
• floats;
• accessibility;
• horizontal separator;
• spacing classes;
• …
Typography
• Headings and paragraphs;
• links;
• lists;
• icons (icon font).
Forms
• Form basic components (input, checkbox, select);
• button;
• select filter;
• dropdown;
• tagselect;
• …
Components
• Tags;
• breadcrumbs;
• label;
• image;
• progress bar
• …
Compositions
• Pager;
• listing;
• modal;
• tabs;
• table;
• combobox;
• picker.
Jak se s JobsUI pracuje?
Jak probíhá přidávání nové
komponenty do knihovny?
Vytvoření prototypu
Implementace
Název komponenty
Dokumentace komponenty
Markup
Metadata (kvůli KSS)
Samotné stylování komponenty v LESSu
http://lmc-eu.github.io/emerald/ - grid systém
Vydání nové verze
Code review
Manuální testy
Zamergování do masteru
Vydání nové verze dle sémantického verzování
Komponenta Tabs
Obsahuje jak styly, tak i funkční javascript
Lze využít i více tabů na jedné stránce
Komponenta Tabs
Komponenta Tabs
Komponenta Tabs
Komponenta Tabs
Komponenta Tabs
.tabs {

….

&__item{

…
@media only screen and (max-width: @screen-lap-max) {

…

}

}



&__link {

…
&:hover, &—active {

…

}

}

}
Komponenta Tabs
Tabs.prototype.process = function (el) {

var $el = $(el);

var target = $el.attr('href').substring(1);



this.tabs

.removeClass(this.activeClass)

.filter('[href="#' + target + '"]')

.addClass(this.activeClass);



this.panels

.hide()

.filter('[id="' + target + '"]')

.show();

};



module.exports = Tabs;
Komponenta Tabs
Komponenta Tabs
Integrace knihovny
"dependencies": {
"jobs-ui": "ssh://git@stash.int.lmc.cz/jobs-ui.git#v4.47.0",
}
pomocí Bower:
www.jobs.cz/ui
Integrace knihovny
• Integrační vizuální prvek pro aplikace třetích
stran;
• UI-Components - generátor šablon a komponent
v PHP založené na JobsUI;
• ostatní týmy v rámci firmy či externisté.
Jaké problémy nás potkaly?
Proč
Znovupoužitelnost
Přehlednost
@Krejcek martin.kristof@lmc.eu

More Related Content

Similar to Přednáška o JobsUI (8)

Infokon 2010: Jan Brejcha
Infokon 2010: Jan BrejchaInfokon 2010: Jan Brejcha
Infokon 2010: Jan Brejcha
 
Spring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou TvariSpring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou Tvari
 
TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 
JS2016
JS2016JS2016
JS2016
 
Jiří Šilha - OPAC 2.0 v českých podmínkách
Jiří Šilha - OPAC 2.0 v českých podmínkáchJiří Šilha - OPAC 2.0 v českých podmínkách
Jiří Šilha - OPAC 2.0 v českých podmínkách
 
Axure RP training
Axure RP trainingAxure RP training
Axure RP training
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. část
 

Přednáška o JobsUI