Від автора: дуже часто створюючи сценарії з використанням мови JavaScript, необхідно відображати результат у певному вигляді. При цьому якщо даних не багато ми з легкістю зможемо додати їх до одного з існуючих блоків сайту, ну або, принаймні, створити даний блок. Але що якщо скрипт формує величезна кількість різної інформації, для відображення якої одного блоку просто не достатньо.
Автор: Віктор ГавриленкоМене звати Віктор Гавриленко, за освітою я інженер електромеханік. Ще навчаючись в інституті, почав захоплюватися комп’ютерними технологіями та програмуванням, протягом двох років посилено займаюся розробкою інтернет-сайтів та веб-програмуванням. Захоплююсь написанням невеликих скриптів на мові PHP, у зв’язці базами даних MySQL, SQLite, непогано знаю такі движки як WordPress, Drupal, Joomla. |
Тому на даному уроці, я хотів би розповісти Вам про фреймворку Webix, мови JavaScript, за допомогою якого можна швидко та легко реалізувати кроссбраузерное і інтерактивне веб-додаток. Причому воно успішно буде працювати як на десктопних так і на мобільних пристроях.
Отже, як було сказано вище WebIx – це JavaScript фреймворк, який значно полегшує створення додатків з адаптивним дизайном. При цьому він дуже легкий в освоєнні, добре документований і дозволяє створювати складні і інтерактивні веб-додатки. Причому він порівняно мало важить і володіє високою швидкодією.
Крім цього, WebIx добре інтегрується з популярними бібліотеками, такими як Backbone.js, AngularJS і звичайно ж, всім відома jQuery. Офіційний сайт фреймворку ви знайдете за цим посиланням.
Зверніть увагу – на головній сторінці в самому верху, розташовані посилання на офіційну документацію по WebIx. Для скачування останньої актуальної версії фреймворку, клікаємо по кнопці “Завантажити” і переходимо на сторінку вибору версії – платною або безкоштовною. Традиційно платна версія має більш широким функціоналом, ніж безкоштовна, але часом її цілком достатньо для реалізації типових задач, а значить, і викачуємо.
Вміст скачаного архіву, а саме каталог codebase, маємо в папці зберігання JavaScript. Далі, до цікавій сторінці, необхідно підключити стилі, а також основне логічне ядро фреймворку WebIx.
На цьому установка бібліотеки завершена, а значить, ми можемо приступати до роботи, використовуючи її функціонал. До тестовій сторінці, я підключив порожній файл script.js, в якому ми будемо писати код.
Для ініціалізації компонентів фреймворку Webix, необхідно використовувати метод конструктор ui(), який може бути додатково доданий в функцію обробник методу ready(). У цьому випадку Ви можете бути на 100% впевнені, що виконання коду розпочнеться лише після повного завантаження сторінки (еквівалент події body.onLoad).
webix.ready(function(){
webix.ui({
//код скрипта
});
});
Для формування структури майбутнього проекту, необхідно використовувати компонент Webix Layout. Який задає каркас додатка, розділяючи його на колонки — cols і лави – rows. Приміром, якщо в майбутньому проекті необхідно реалізувати три колонки, необхідно використовувати наступний код.
webix.ready(function(){
webix.ui({
container:”wrapper”,
type:’head’,
height: 200,
width: 800,
rows:[
{
template:”Ряд № 1″
},
{
template:”Ряд № 2″
},
{
template:”Ряд № 3″
},
] });
});
Зверніть увагу, що по суті передаючи необхідні параметри при виклику методу ui(), Ви тим самим формує структуру майбутнього проекту. У прикладі вище використані наступні властивості:
Властивість rows, визначає ряди додатка і за великим рахунком, ряд – це окрема комірка масиву rows, в якій розташований об’єкт. Знову ж властивості даного об’єкта будуть визначати вміст ряду.
Для завдання розмірів створюваних рядів, Ви можете використовувати властивості width і height (ширина і висота відповідно).
container – селектор елемента, в який буде поміщений результат роботи фреймворка.
type – тип роздільника рядів. Підтримувані значення — «line» (за замовчуванням), «head», «space», «wide» і «clean» (без рамки).
template – простий текст, який буде відображений у певному елементі.
При цьому на екрані ми побачимо наступне.
Далі давайте у другий ряд, додамо три колонки, для цього використовуємо наступний код:
webix.ready(function(){
webix.ui({
container:”wrapper”,
type:’head’,
rows:[
{
template:”Ряд № 1″
},
{
cols:[
{
template:”Колонка №1″, width:200
},
{
template:”Колонка №2″, width:500
},
{
template:”Колонка №2″
}
]
},
{
template:”Ряд № 3″
}
]
});
});
Властивість cols, формує колонки майбутнього проекту. При цьому кожна колонка це об’єкт в окремій комірці масиву. Для створення форм у фреймворку WebIx, необхідно використовувати спеціальне властивість view, яке визначає вид відображуваних даних.
webix.ready(function(){
webix.ui({
container:”wrapper”,
type:’head’,
rows:[
{
template:”Ряд № 1″
},
{
cols:[
{
template:”Колонка №1″, width:200
},
{
template:”Колонка №2″, ширина:600
},
{
/*template:”Колонка №3″*/
view”form”, id:”form1″, elements:[
{
view:”text”,name:”title”,placeholder:”Введіть заголовок”, align: center”,width:250
},
{
view:”text”,name:”email”,placeholder:”Введіть Email”, align: center”
},
{
view:’checkbox’, labelRight:”Галочка”, name:”accept”
},
{
view:’button’, value:”Надіслати”, align: center”, click:”add_item”
}
]
}
]
},
{
template:”Ряд № 3″
}
});
});
Для формування форми, використовується властивість view, зі значенням form. При цьому, так само необхідно вказати ідентифікатор майбутньої форми – властивість id, і обов’язково визначити властивість elements, значення якого використовується масив, елементів майбутньої форми. Відповідно, в кожній комірці масиву, розташовується окремий елемент форми, що представляє собою об’єкт.
Значення властивості view, визначає необхідний елемент майбутньої форми:
text – текстова область;
textarea – поле додавання тексту великого обсягу;
checkbox – елемент чекбокс;
radio – радіо-кнопка;
button – кнопка.
Для створення списку певних елементів, властивість view, необхідно передати значення list.
var myData = [
{
title: “Елемент “,
number: “1”
},
{
title: “Елемент “,
number: “2”
},
{
title: “Елемент “,
number: “3”
},
{
title: “Елемент “,
number: “4”
}
];
webix.ready(function(){
webix.ui({
container:”wrapper”,
type:’head’,
rows:[
{
template:”Ряд № 1″
},
{
cols:[
{
template:”Колонка №1″, width:100
},
{
view:”list”,id:”myList”template:”#title# – #number#!”,select:true,data:myData
},
{
view”form”, id:”form1″, elements:[
{
view:”text”,name:”title”,placeholder:”Введіть заголовок”, align: center”,width:250
},
{
view:”text”,name:”email”,placeholder:”Введіть Email”, align: center”
},
{
view:’checkbox’, labelRight:”Галочка”, name:”accept”
},
{
view:’button’, value:”Надіслати”, align: center”, click:”add_item”
}
]
}
]
},
{
}
]
});
});
Зверніть увагу, що властивість template, визначає шаблон відображення даних в кожному елементі списку. При цьому в шаблоні можна використовувати спеціальні мітки, виділені символами #, значення яких сформовані у спеціальному масиві, заданому властивості data.
Як Ви бачите, фреймворк WebIx пропонує досить цікавий і зручний в роботі функціонал, а значить, якщо він Вас зацікавив – використовуйте його у своїх напрацюваннях.
На цьому даний урок завершено. Всього Вам доброго і вдалого кодування!!!