3.7.2.5.2. Работа с данными
Для загрузки данных просто поместите элементы cuba-data в HTML и укажите требуемые атрибуты.
Загрузка Сущностей
Используйте cuba-entities для загрузки сущностей. Если указаны атрибуты entity-name
и view
, элемент загрузит список сущностей и передаст его для привязки данных в Polymer через свойство data
:
<cuba-entities entity-name="sec$User" view="_local" data="{{users}}"></cuba-entities>
Теперь отобразить данные можно очень просто:
<template is="dom-repeat" items="[[users]]" as="user">
<div>[[user.login]]</div>
</template>
Использование предопределенных JPQL запросов
Составьте запрос, как описано здесь.
Используйте элемент cuba-query для получения результатов запроса. При необходимости в запрос можно передать параметры с помощью свойства params
:
<cuba-query id="query"
auto="[[auto]]"
entity-name="sec$User"
query-name="usersByName"
data="{{users}}">
</cuba-query>
<template is="dom-repeat" items="[[users]]" as="user">
<div>[[user.login]]</div>
</template>
Вызов Сервиса
Зарегистрируйте сервис и его методы, как описано здесь. Используйте элемент cuba-service для вызова метода:
<cuba-service service-name="cuba_ServerInfoService"
method="getReleaseNumber"
data="{{releaseNumber}}"
handle-as="text"></cuba-service>
Release number: [[releaseNumber]]
Создание Сущности
С помощью элементов cuba-entity-form
и cuba-service-form
можно легко отправлять данные на backend.
В примере ниже мы связываем объект user
, который нужно сохранить, со свойством entity
.
<cuba-entity-form id="entityForm"
entity-name="sec$User"
entity="[[user]]"
on-cuba-form-response="_handleFormResponse"
on-cuba-form-error="_handleFormError">
<label>Login: <input type="text" name="login" value="{{user.login::input}}"></label>
<label>Name: <input type="text" name="login" value="{{user.name::input}}"></label>
<button on-tap="_submit">Submit</button>
</cuba-entity-form>
<paper-toast id="successToast">Entity created</paper-toast>
<paper-toast id="errorToast">Entity creation error</paper-toast>
_submit: function() {
this.$.entityForm.submit();
},
_handleFormResponse: function() {
this.user = getUserStub();
this.$.successToast.open();
},
_handleFormError: function() {
this.$.errorToast.open();
}
Необходимо разрешить анонимный доступ к REST API, если вы хотите использовать приведённые выше примеры без обязательного входа в систему. |