WebIx швидке створення сторінок за допомогою JavaScript

496

Від автора: дуже часто створюючи сценарії з використанням мови 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 пропонує досить цікавий і зручний в роботі функціонал, а значить, якщо він Вас зацікавив – використовуйте його у своїх напрацюваннях.

На цьому даний урок завершено. Всього Вам доброго і вдалого кодування!!!