Интегрировать с сервером можно компоненты данных, хранилища на стороне клиента (Data Collections) и формы.
Как это реализовано:
После того, как вы скачали пакет Webix, вы можете запустить серверные примеры на Node.js с помощью следующих команд:
npm install
npm run server
Ниже представлены несколько пакетных примеров того, как можно использовать Webix с различными серверными платформами:
Базовый код для загрузки данных при инициализации компонента выглядит так:
webix.ui({
id:"dtable",
view:"datatable",
url:"data.php"
});
Или, чтобы загрузить данные после инициализации компонента, вызовите метод load():
$$("dtable").load("myscript.php", "xml");
Обратите внимание
Более подробную информацию о пользовательских скриптах читайте в соответствующей статье.
To load data from MongoDB, you might need to convert _id to id (the identifier in Webix). You can do it when you load data using a proxy. However, you can extend DataStore id method and use the primary key _id to set the id for incoming objects in order to improve performance.
webix.DataStore.prototype.id = function (data) {
data.id = data._id || data.id || webix.uid();
return data.id;
}
Базовый клиентский код для сохранения данных в базу выглядит следующим образом:
webix.ui({
id:"dtable",
view:"datatable",
save:"save_script.php"
});
Обратите внимание
Кроме того, свойство save автоматически инициализирует DataProcessor для этого компонента, так что изменения данных передаются в скрипт для сохранения. DataProcessor слушает события компонента, задаёт операцию редактирования (например, вставить, обновить или удалить) и отправляет изменённые данные в сохраняющий скрипт в POST запросе.
Как задать ти операции
По умолчанию статус операции приходит в POST запросе как webix_operation. В большинстве случаев сохраняющий скрипт один и содержит шаблоны для разных операций. В то же время вы можете задать определённый скрипт для каждой операции. DataProcessor определит тип операции и запустит необходимый скрипт:
save:{
"insert":"data/insert.php",
"update":"data/update.php",
"delete":"data/delete.php"
}
Related sample: Server-side Integration: Custom URL
Если вам необходимо изменить исходный шаблон обработки данных, почитайте раздел документации о Dataprocessor.
Если вы используете Webix Uploader, у вас может возникнуть вопрос о сохранении данных.
{
view:"uploader",
id:"uploader1",
name:"uploader"
upload:"upload.php"
autosend:false
}
$$("uploader1").send();
Обратите внимание
Даные формы могут быть:
Related sample: Form: Saving Data to Server