Начало работы


Blank CLI


Blank Schema


Serverside JS API


HTTP API


Интеграция


Props modeling

В зависимости от типа поля, его может характеризовать определённый набор свойств. Кроме того, существует набор свойств, применимый к каждому типу полей.

Типы полей

Ниже перечислены общие свойства, а так же собственные свойства для каждого типа.

Общие свойства

access

Массив правил, определяющих доступ к полю. Синтаксис аналогичен свойству access Store.

configurable

Внутреннее свойство для Store по-умолчанию (bool). Определяет возможность переопределения свойств поля в пользовательской конфигурации. Не используется при разработке приложений.

default

Определяет значение поля по-умолчению. Будет установлено при создании объекта, в случае, если значение не определено в создаваемом объекте.

required

Флаг обязательного поля (bool). Если true, то при сохранении объекта с неустановленным значением поля будет возвращена ошибка. В пользовательском интерфейсе при этом будет заблокирована кнопка Сохранить.

action

Поле данного типа не сохраняется в БД, используется только пользовательском интерфейсе. Подробнее в разделе Props displaying.

any

Поле может принимать любой тип данных.

bool

Булевый тип, может принимать значения true или false. Не имеет собственных свойств.

date

Свойства

utc

Флаг определяющий хранение даты во временной зоне UTC+0 (bool).

file

Поле, применяющееся для хранения файлов. В СУБД при этом хранится только мета-описание файлов, сами файлы располагаются в файловом хранилище, являющимся отдельным сервисом Blank.

Свойства

accept

Позволяет задать маску принимаемых для загрузки файлов (строка). В настоящее время не реализовано.

store

Название Store с типом file для хранения мета-информации о файлах (строка).

float

Вещественный тип, или тип с плавающей запятой.

Свойства

max

Максимальное допустимое значение поля.

min

Минимальное допустимое значение поля.

int

Целочисленный тип. Набор собственных свойств аналогичен type:float.

object

Вложенная структура данных. Поддерживается только один уровень вложенности объектов.

Свойства

props

Описание полей вложенной структуры данных.

type: "object",
props: {
    // Поля вложенного объекта
},

objectList

Массив вложенных структур данных. Поддерживается только один уровень вложенности объектов.

Свойства

maxLength

Максимальное допустимое количество вложенных структур.

maxLength

Минимальное допустимое количество вложенных структур.

props

Описание полей вложенных структур данных.

type: "objectList",
props: {
    // Поля вложенных объектов
},

ref

Ссылка на другой объект. Подходит для связей 1-1, N-1. Значением является строка с идентификатором объекта. Работает каскадное обновление связей, подробнее об этом механизме читайте в разделе References sync.

Свойства

disableRefSync

Флаг, указывающий, что не требуется проводить обновление связи данного поля (bool). Подробнее о механизме каскадного обновления связей читайте в разделе References sync

oppositeProp

Название поля в Store, определённой свойством store (строка). Требуется для работы механизма каскадного обновления связей.

populateIn

Поле, в которое будет загружен соответствующий объект из Store определённом в свойстве store.

populateIn: "user",

Так же может производиться модификация полученного объекта перед загрузкой в соответствующее поле. Для этого стоит определить данное свойство в виде объекта.

populateIn: {
    prop: "userName", // поле, в которое загрузить результат.
    map: function($item) { // функция-обработчик, принимающая на вход загружаемый объект
        return $item.name;
    },
},

Для типа refList в функцию-обработчик будет передана переменная $items, содержащая массив загружаемых объектов.

store

Название Store объекта, на который указывает ссылка (строка).

refList

Массив ссылок на другие объекты, используется для создания связей 1-N, M-N. Значение записывается в виде массива строковых идентификаторов. Работает каскадное обновление связей, подробнее об этом механизме читайте в разделе References sync.

Набор собственных свойств аналогичен type:ref.

string

Строковый тип.

Свойства

mask

Маска для значения (строка или объект).

maxLength

Максимальная допустимая длина строки (int). Так же применяется для type:objectList и обозначает максимальное допустимое количество вложенных структур данных.

minLength

Минимальная допустимая длина строки (int). Так же применяется для type:objectList и обозначает минимальное допустимое количество вложенных структур данных.

pattern

Регулярное выражение для проверки вводимого значения (строка или объект).

virtual

Виртуальное поле, вычисляемое при получении данных. Значения данных полей не сохраняются в БД.

Свойства

load

Функция-загрузчик виртуального поля (строка). В функции доступны объекты $item (текущий объект) и $user (пользователь, работающий с объектом).

type: "virtual",
load: function ($item, $user) {
    return $item.prop1 + $item.prop2;
},

virtualRefList

Используется только в пользовательском интерфейсе. Значения данных полей не сохраняются в БД. Подробнее в Props displaying.